简单的问题,真的……
内置?
当你运行时会发生什么:builtin
?
返回类型echo $?
是0
。
这意味着该命令很可能已成功运行。
那么,跑步能builtin
达到什么目的呢?
答案1
当您希望将 shell 内置命令重新实现为 shell 函数,但需要在函数内执行内置命令时,这很有用。
$ type echo
echo is a shell builtin
$ function echo(){ builtin echo "'$1'"; }
$ echo hi
'hi'
help builtin
内置:内置 [shell-builtin [arg ...]] 执行 shell 内置命令。
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.
答案2
从help -m builtin
:
姓名 Builtin-执行 shell 内置命令。 概要 内置 [shell-builtin [arg ...]] 描述 执行 shell 内建命令。 使用参数 ARGs 执行 SHELL-BUILTIN 而不执行命令 查找。当你想重新实现 shell 内置命令时,这很有用 作为一个 shell 函数,但需要执行函数内的内置函数。
使用示例:
cd (){
builtin cd "$@"
pwd
}
然后,这个cd
's 会打印新的工作目录(就像在 IPython 中一样)。如果你忘记了这builtin
部分,它将继续无限循环地调用自身。