内部コマンドと同じ名前の外部コマンド(プログラム)がある場合、デフォルトではどのコマンドが実行されますか?

内部コマンドと同じ名前の外部コマンド(プログラム)がある場合、デフォルトではどのコマンドが実行されますか?

bashという内部コマンドがありkill、Linuxにはという外部コマンド(プログラム)がありますkill

killで実行すると、bash内部コマンドがkill実行されます。

2つの質問があります。

  1. デフォルトでは、内部コマンドの代わりに外部コマンドが実行されるように設定を変更できますか(もちろん、外部コマンドへのフルパスを指定せずに)。
  2. デフォルトでは、外部コマンドの代わりに内部コマンドを実行することがすべての(デフォルト)シェルの標準的な動作ですか、それとも単なる問題ですかbash

ベストアンサー1

  1. 電話してenv

    $ env kill
    kill: not enough arguments
    $ kill
    kill: usage: kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec]
    
  2. すべてのシェルとコマンドプロセッサ。

おすすめ記事