2016-07-08 14 views
1
rm -rf 
rm -r 
rm -f 
rm 

これらのコマンドのいずれかが実行されると、特定のスクリプトを実行するようにします。コマンドの引数に関係なくコマンドが実行されたときにスクリプトを実行する

alias ?='some_script.sh'

ような何か(この場合は疑問符が任意の引数を指定してrmコマンドを意味します。)

はどのようにこれを行うことができますか?私はエイリアスを使用する必要はありませんが、動作するものは問題ありません。

答えて

2

エイリアスは使用しないでください。どのような方法が適用されるにrmの動作を変更する

rm() { 
    some_script.sh 
    command rm "[email protected]" 
} 

標準免責事項:関数を定義します。これを行わないでくださいsome_script.shはある種のセーフティネットを意図しています。このセーフティネットがインストールされていないマシンでrmを実行すると、そのマシンに依存する可能性があり、驚くことはありません。

1

bashコマンドごとにスクリプトを実行する必要がある場合は、特別な変数bashに追加することをお勧めします。これは、プロンプトにコマンドを入力するたびに実行されます。

すべてを行う必要が

$ PROMPT_COMMAND+="some_script.sh;" 

みたいにスクリプトsome_script.shを追加したり、あなただけのコマンドrm用スクリプトにしたい場合は、別名を維持することは行うための最善の方法であるPROMPT_COMMAND変数は、それ。変更後は~.bashrcsourceに行を追加してください。

alias rm="some_script.sh; rm" 
関連する問題