答案1
在提示符下发出命令的作用ls
不仅仅是 call /bin/ls
。如果ls
是别名或函数,则将调用该别名或函数。如果两者都不是,并且它也不是内置命令(ls
很少是内置命令),则将在环境变量中的 -delimited 列表ls
中的每个目录中执行路径搜索。:
$PATH
那个ls
是第一的发现$PATH
将被执行。如果包含此类名称的目录早于列表,则这可能是另一个ls
情况。/bin/ls
/bin
$PATH
使用/bin/sh
将绕过别名和函数查找以及任何查找$PATH
,而是直接运行该命令。
ls
和之间的输出颜色差异/bin/ls
可能是通过ls
别名来解释的,该别名在调用ls
实用程序时添加了额外的命令行选项(使用alias ls
或type -a ls
in进行检查bash
)。