シェルで特定のコマンドが実行されたときに2番目のコマンドをどのようにトリガーできますか?

シェルで特定のコマンドが実行されたときに2番目のコマンドをどのようにトリガーできますか?

私の問題を例に説明しましょう。

私は$ python manage.py何かをするために走った。

$ xyzユーザーが以前のコマンドを実行したときに別のコマンドを実行したいと思います。

その後、これからユーザーが実行するたびに$ python manage.py

次のように実行する必要があります。

$ python manage.py && xyz

エイリアスを作るかと思いました。しかし、エイリアス変数の間にスペースを入れてはいけませんか?

ベストアンサー1

呼び出しの周りにシェルラッパーを入れることができますpython(入れるか…シェルによって異なります).zshrc.bashrc

python () {
    if [ "$1" = manage.py ]; then
        command python manage.py && xyz
    else
        command python "$@"
    fi
}

manage.pyしかし、代わりに最後に実行するか(Pythonサブプロセスライブラリを参照)、シェルスクリプトを生成する方が良いと思います。xyz

管理.sh:

#! /bin/sh
python manage.py && xyz

おすすめ記事