当 shell 中运行特定命令时如何触发第二个命令?

当 shell 中运行特定命令时如何触发第二个命令?

我将用例子解释我的问题。

我跑去$ python manage.py执行一些动作。

我想$ xyz在任何用户运行上一个命令时运行另一个命令。

因此,从现在开始,每当用户运行$ python manage.py

它应该像这样运行:

$ python manage.py && xyz

我想到创建一个别名。但是别名变量之间不能有空格吗?

答案1

您可以在调用周围放置一个 shell 包装器python(将其放入.zshrc.bashrc...取决于您的 shell),

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

但我怀疑你最好改为在最后manage.py运行(请参阅 python 子进程库),或创建一个 shell 脚本,xyz

管理.sh:

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

相关内容