bash有自己的echo、printf、[函数]吗?

bash有自己的echo、printf、[函数]吗?,bash,shell,Bash,Shell,当我用strace跟踪nice.sh脚本的输出时,我看到了大量的子进程 strace -ff -o nice.o ./nice.sh 很好,嘘 #!/bin/bash while /usr/bin/[ 1 ] do echo ..; done; 另一方面,如果我运行下面的脚本,我看不到任何分叉子进程: #!/bin/bash while [ 1 ] do echo ..; done; echo、/bin/echo和printf、/usr/bin/printf也是如此。

当我用strace跟踪nice.sh脚本的输出时,我看到了大量的子进程

strace -ff -o nice.o ./nice.sh 
很好,嘘

#!/bin/bash

while /usr/bin/[ 1 ]
do
    echo ..;
done;
另一方面,如果我运行下面的脚本,我看不到任何分叉子进程:

#!/bin/bash

while [ 1 ]
do
    echo ..;
done;

echo、/bin/echo和printf、/usr/bin/printf也是如此。这是否意味着某些命令嵌入到bash中?如果是,其他命令是什么?

是的,bash和其他shell都有许多内置命令


bash列表以及每个内置项的附带文档。

$type[echo printf
[是一个shell内置程序
echo是一个shell内置程序
printf是一个shell内置程序
@mertinan:
启用-a
将显示所有内置程序以及它们是否已启用。
键入-a命令
将显示命令是如何按优先顺序定义的。键入
info bash
,然后转到“shell构建命令”部分或参见。在发布之前请考虑查阅手册。大多数Burne派生的shell都有这些命令构建。外部版本曾经有用于没有构建它们的shell。它们有时仍然适用于复杂的<代码>查找< /COD>或<代码> XARGS命令。