用于终止已停止作业的命令的别名

用于终止已停止作业的命令的别名

我想向我的 .bashrc 添加一个别名,以便我可以使用类似 的命令杀死所有停止的作业kill_stopped。我知道kill `jobs -p`可以用来完成此任务,但为了方便起见,我宁愿有一个更容易记住的别名。所以我将这一行添加到我的 .bashrc 中:

alias kill_stopped="kill `jobs -p`"

但是,当我运行它时,我收到一条有关 Kill 命令用法的消息。为了确保它正常运行,我在 shell 中运行,并在进程停止时echo "kill `jobs -p`"返回。"kill <some number>"谁能帮我解决这个问题吗?

答案1

你很接近,但你应该使用单引号,而不是双引号:

kill_stopped='kill `jobs -p` '

反引号在双引号内展开,因此它jobs -p在您定义别名时运行,而不是在您使用别名时运行。

答案2

尝试这个:

alias kill_stopped="kill \$(jobs -p)"

并终止正在运行的作业:

kill_stopped

如果没有正在运行的作业,您会收到一条有关终止使用情况的消息。

相关内容