可以在当前运行的命令完成时添加要运行的命令吗?

max*_*son 3 command-line

在终端中运行耗时的进程时,我喜欢添加类似say "done"附加命令的内容,以便在当前进程结束时收到警报。例如:

$ do_this_long_thing; say "done";
Run Code Online (Sandbox Code Playgroud)

效果很好。但有时我忘记了say "done"命令,只有在长命令已经运行时才意识到它。一旦命令已经运行,有没有办法将该附加命令添加到队列中?

Dav*_*ter 6

我的解决方案是:使用 Control+Z 暂停您长时间运行的任务,然后键入以下内容:

fg; echo "Done!"
Run Code Online (Sandbox Code Playgroud)

如果您想根据命令的成功或失败运行不同的反应,请使用 && 和 || 作为短路运算符。

fg && echo "Success!" || echo "Failure!"
Run Code Online (Sandbox Code Playgroud)

来源:如何在 bash 中当前运行命令后执行命令?