【问题标题】:jobs -l is not printing output to a file when written inside a script在脚本中写入时,jobs -l 不会将输出打印到文件中
【发布时间】:2019-05-05 04:13:35
【问题描述】:

我希望将“jobs -l”的输出写入文件,并且将jobs -l 命令写入shell 脚本程序中

“jobs -l”命令在终端中简单地给出时有效,即使它在终端中而不是在程序中简单地给出时打印到文件“jobs -l >file.txt”。

./program.sh

jobs-l >file.txt

文件.txt

[1]+  3693 Running                 firefox &

这是文件中的预期输出

但实际上,我在文件中什么也没得到。文件已创建但为空

【问题讨论】:

    标签: linux bash shell file jobs


    【解决方案1】:

    那是因为您在脚本中启动了一个新的 shell。 这个shell确实没有运行后台进程。

    您可以尝试在当前 shell 中启动 firefox:firefox &,然后打开另一个 shell 并运行以下命令:jobs -l。 这应该是空的。

    如果您在脚本中启动 firefox 后台进程,它会显示出来。

    #!/usr/bin/env bash
    
    firefox &
    jobs -l > processes
    

    【讨论】:

    • 谢谢,帮了大忙
    猜你喜欢
    • 2017-01-01
    • 2011-12-19
    • 2011-04-03
    • 2013-04-19
    • 1970-01-01
    • 1970-01-01
    • 2019-07-14
    • 2019-10-29
    • 1970-01-01
    相关资源
    最近更新 更多