LinuxでbashコマンドであるかOSのコマンドであるか確認する!(type/builtin)

LinuxでbashコマンドであるかOSのコマンドであるか確認します。

bashコマンドであるかOSのコマンドであるか確認する!

bashコマンドであるかOSのコマンドであるか確認しす。頻繁に使用するコマンドは、OSコマンドではなく、bashコマンドであることが多いので確認してみましょう。

$ type echo
echo is a shell builtin
$ type date
date is /usr/bin/date

bashのコマンドである場合は、「echo is a shell builtin」と表示されます。OSコマンドの場合は、コマンドのパスが表示されます。

bashのコマンドの実行を強制する!

bashにもOSにも同じコマンドがあることがあります。通常、bashのコマンドが優先されますが、確実にbashのコマンドを使用したい場合は、builtinコマンドを使用します。

$ type echo
echo is a shell builtin
$ which echo
/usr/bin/echo
$ builtin echo "Hello World!"
Hello World!

逆に、OSのコマンドを強制的に実行したい場合は、コマンドをフルパスで指定します。

おわりに

コマンドの挙動が想定どおりでない場合は、bashの組み込みコマンドであるか、OSのコマンドであるか確認してみたほうがよいでしょう。

関連記事

関連書籍(Amazon)