Sie*_*geX 14
如果你想看看如何定义 bash内置,那么你只需要看看The Bash Man Page的第4节.
但是,如果您想知道如何实现 bash bultins,则需要查看Bash源代码,因为这些命令被编译为bash可执行文件.
查看命令是否为bash内置的一种快速简便的方法是使用该help命令.示例,help cd将向您展示如何定义'cd'内置的bash.同样的help echo.
Rom*_*aka 12
内置插件的实际集合因shell而异.有:
您可以使用type大多数shell支持的命令(尽管其输出未标准化)来确定是否内置了该实用程序.一个例子来自dash:
$ type ls
ls is /bin/ls
$ type cd
cd is a shell builtin
$ type exit
exit is a special shell builtin
Run Code Online (Sandbox Code Playgroud)
重用cd实用程序,理论上没有什么能阻止shell实现者将其实现为外部命令.cd不能直接更改shell的当前目录,但是,例如,cd可以通过套接字将新目录传递给shell进程.但没有人这样做,因为没有意义.除了非常旧的外壳(没有内置插件的概念),cd使用一些脏系统黑客来完成它的工作.
如何cd在shell中实现?这里描述了基本算法.它还可以做一些工作来支持shell的额外功能.
| 归档时间: |
|
| 查看次数: |
27402 次 |
| 最近记录: |