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
/usr/local/binディレクトリに別のものがあり、/ test
usr/binディレクトリに別のものがあります。組み込みコマンドが常に優先され、残りは$ PATH変数のディレクトリの順序に依存するように、実行可能ファイルの順序はどうなりますか?また、実行可能ファイルの開始順序を変更できますか?たとえば、test
/usr/bin/test と入力すると bash-buildin の代わりに起動されますかtest
?
ベストアンサー1
最も高い優先順位は、bashエイリアス、特別な組み込み(POSIXモードでのみ)、関数、組み込み、です$PATH
。
内蔵機能を実行するにはを使用してくださいbuiltin test
。
外部アプリケーションを実行するには、明示的なパスを使用してください/bin/test
。
関数とエイリアスを無視するには、を使用しますcommand test
。
エイリアスを無視するには、\test
または他の種類の拡張機能を使用してください。
内蔵を無効/有効にできますenable test
。
(以下の説明に基づいて更新されdisable
ますenable
)