因此,这个想法已经在我脑海中存在了一段时间,我经常发现自己启动了一个命令,然后在正在进行的命令完成后又想启动另一个命令。问题是我必须监视正在进行的命令才能启动下一个命令。可能有一个“下一个”列表,它会依次运行命令,就像音乐播放器一样。我认为它不存在,但我想确定一下。如果有人感兴趣的话我可以很好地开发这样的东西。
答案1
您可以将所需的命令链写入 shell 脚本,或者在以分号分隔的单行中运行它们。这样它们就会按顺序执行,并且下一个命令会在上一个命令终止后开始。
command1; command2; command3
如果您事先不知道接下来要运行哪个命令,您可以使用 暂停正在运行的进程CTRL+Z
,使其在后台处理bg
并启动下一个命令,如下所示:wait %jobid; command2
。 jobid可以通过命令确定jobs
。 jobid位于[]括号中,括号后面的加号表示最近在前台运行的进程。
答案2
与 Hiradur 所说的类似,但如果第一个命令产生输出,可能更合适(当后台进程打印东西时输入内容可能会很烦人):
- 像往常一样启动第一个命令,
- 如果您知道下一步要运行什么,请CtrlZ按暂停作业
- 执行
fg; next_command
在前台继续执行当前命令,next_command
然后执行。