在终端中运行耗时进程时,我喜欢添加类似这样的say "done"
附加命令,以便在当前进程结束时收到警报。例如:
$ do_this_long_thing; say "done";
效果很好。但有时我会忘记say "done"
命令,直到长命令运行时才意识到。有没有办法在命令运行时将附加命令添加到队列中?
答案1
我的解决方案是:使用 Control+Z 暂停长时间运行的任务,然后输入如下内容:
fg; echo "Done!"
如果您想根据命令的成功或失败以不同的方式运行反应,请使用 && 和 || 作为短路运算符。
fg && echo "Success!" || echo "Failure!"
答案2
在运行长时间运行命令的终端中,只需输入 done 并按回车键。当长时间运行的命令完成时,shell 会将您输入的内容作为下一个要运行的命令。这假设长时间运行的命令不需要从 stdin 读取任何内容,