我希望将“ jobs -l”的输出写入文件,并将jobs -l命令写入外壳脚本程序中
仅在终端中给出“ jobs -l”命令时有效,即使在终端中简单给出但不在程序内部时,它也会打印到文件“ jobs -l> file.txt”。
jobs-l >file.txt
[1]+ 3693 Running firefox &
这是文件内的预期输出
但是实际上,我在文件中什么也没得到。文件已创建,但为空
答案 0 :(得分:3)
那是因为您正在脚本中启动一个新的shell。 此Shell确实没有正在运行的后台进程。
您可以通过在当前shell:firefox &
中启动firefox并打开另一个shell并运行以下命令:jobs -l
来进行尝试。
这应该是空的。
如果您要在脚本中启动Firefox后台进程,它将显示出来。
#!/usr/bin/env bash
firefox &
jobs -l > processes