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
、bash-builtinの代わりに/ usr / bin / testが起動しtest
ますか?
/usr/bin/test -f "$file"
...