我知道什么是内置命令,但它builtin本身有什么作用?执行which ls显示了我/bin/ls,但执行不which builtin返回任何内容。
man builtin只是给了我一个内置命令列表,其中一个是builtin. 手册页的其余部分解释了内置是什么,而不是什么builtin是。
builtin --help告诉我,builtin: usage: builtin [shell-builtin [arg ...]]但仍然不是它的作用。
它是否以其他内置命令不是的方式成为 bash 的一部分?
Spi*_*iff 50
该builtin命令确保您运行该命令的 shell 内置版本,而不是运行另一个具有相同名称的命令。
例如,假设您定义了一个名为的 shell 函数,cd用于在每次更改目录时打印一些额外的状态。但是您搞砸了,现在您无法正确更改目录。所以现在您可以键入builtin cd ~以成功 cd 回到您的主目录,而无需运行损坏的 shell 函数。
顺便说一下,我的 bash 手册页副本有一个名为“SHELL BUILTIN COMMANDS”的部分,它定义了builtin该部分中命令的含义(转录如下)。
内置 shell-builtin [参数]
执行指定的 shell 内置命令,传递参数,然后
返回其退出状态。这在定义函数时很有用
其名称与内置的 shell 相同,保留
函数中内置函数的功能。cd 内置是
通常以这种方式重新定义。
如果 shell-builtin 不是 shell 内置,则返回状态为 false
命令。
| 归档时间: |
|
| 查看次数: |
1997 次 |
| 最近记录: |