На этот вопрос уже есть ответ здесь:
Простой вопрос, правда .. .
Что происходит, когда вы запускаете: builtin
?
Тип возврата из echo $?
- 0
.
Это означает, что команда, скорее всего, выполнена успешно.
Итак, что выполняет запуск builtin
?
Это полезно, когда Вы хотите повторно реализовать оболочку, встроенную как функция оболочки, но должны выполнить встроенное в функции.
$ type echo
echo is a shell builtin
$ function echo(){ builtin echo "'$1'"; }
$ echo hi
'hi'
<час> help builtin
встроенный: встроенный [встроенный оболочкой [аргумент...]] Выполняют оболочку builtins.
Execute SHELL-BUILTIN with arguments ARGs without performing command lookup. This is useful when you wish to reimplement a shell builtin as a shell function, but need to execute the builtin within the function. Exit Status: Returns the exit status of SHELL-BUILTIN, or false if SHELL-BUILTIN is not a shell builtin.
От help -m builtin
:
NAME builtin - Execute shell builtins. SYNOPSIS builtin [shell-builtin [arg ...]] DESCRIPTION Execute shell builtins. Execute SHELL-BUILTIN with arguments ARGs without performing command lookup. This is useful when you wish to reimplement a shell builtin as a shell function, but need to execute the builtin within the function.
использование В качестве примера:
cd (){
builtin cd "$@"
pwd
}
Это cd
, затем печатает новый рабочий каталог (как в IPython). Если Вы забудете builtin
часть, то это будет продолжать называть себя в бесконечном цикле.