如果我test
在bash中执行命令,test
(评估条件表达式)内置实用程序将启动:
$ type test
test is a shell builtin
$ type -a test
test is a shell builtin
test is /usr/local/bin/test
test is /usr/bin/test
$
但是,从type -a test
上面的输出中可以看到,test
/ usr / local / bin目录中有另一个,/ usr / bin目录中又有一个。可执行文件如何排序,即始终首选内置命令,然后其余命令取决于$ PATH变量中的目录顺序?另外,是否可以更改可执行文件的启动顺序,例如,如果键入test
,则启动/ usr / bin / test而不是bash-builtin test
?
/usr/bin/test -f "$file"
...