元のプログラムを実行したくないようにコマンドを「無効にする」方法を探しています。何もない代わりに。
これを行うにはいくつかの方法がありますが、これまでで最も効果的な方法は、同じ名前の新しいスクリプトを作成し、環境変数を変更してPATH
新しいシミュレーションスクリプトの実行に優先順位を付けることです。
別のスクリプトを使用してPATHでシミュレートします。というコマンドを考慮して、mycmd
「ゼロ終了」(およびすべての入力引数を無視)をシミュレートします。
mkdir -p ~/tmp/mockscript
echo -e "#!/usr/bin/bash\nexit 0\n" > ~/tmp/mockscript/mycmd
chmod +x ~/tmp/mockscript/mycmd
PATH=~/tmp/mockscript:$PATH
同様のことができますが、alias
PATH変数を使用するトリックのように一度だけシミュレートするのではなく、新しいシェルを開くたびにそれを定義する必要があります。
もっと良い方法がありますか?何?