如何在shell脚本中运行“jobs”命令?

时间:2015-07-26 06:02:03

标签: shell

我创建了包含test.sh命令的文件ls -ltr & jobs。当我运行它时,它会给我ls -ltr的输出,但对于jobs命令,它不会给我任何东西,甚至不会给出错误.4

怎么了?

1 个答案:

答案 0 :(得分:1)

jobs是一个交互式命令 - 它不是要从脚本中使用,也不是在脚本中做任何有用的事情(但它可能在从shell调用的shell函数中做一些有用的事情一个交互式会话;所以在代码中禁用它也不是真的合适。

要跟踪后台作业,请在启动时收集它们的PID。

ls -ltr &
pid=$!
printf 'pid: %s' "$pid"