
スクリプトを /usr/bin に追加し、完全なコマンド名を入力すると期待どおりに実行されます。ターミナルでコマンド名を自動補完するにはどうすればよいでしょうか?
答え1
hash -r
または新しいシェルを開きます。
シェルが起動すると、シェルはスキャンしてPATH
、見つかったプログラムの名前と場所をキャッシュします。プログラムの実行を指示すると、まずキャッシュをチェックし、その場所が見つかった場合は、パス内のすべてのディレクトリをスキャンする必要がなくなり、かなり時間がかかります。Bash は、コマンドのタブ補完に最初のスキャンの結果を使用します (新しいプログラムを実行しても更新されません)。そのため、新しいセッションを開くか、パスを再ハッシュするように指示するまで、プログラムはそこに入りません。
将来の回答を求める人への注意: zshでは、rehash