运行“builtin”有什么作用?

运行“builtin”有什么作用?

简单的问题,真的……

内置?

当你运行时会发生什么: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部分,它将继续无限循环地调用自身。

相关内容