linux中的shell内置命令是什么?

use*_*201 14 unix linux shell

我刚刚开始使用Linux,我很好奇如何定义shell内置命令cd.

此外,如果有人能解释他们如何实施和执行,我将不胜感激.

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的额外功能.


Bad*_*adr 0

http://ss64.com/bash/这会对你有帮助。

这是 shell 脚本指南

http://www.freeos.com/guides/lsst/