bash:在 bash 脚本中时无法列出后台作业

bash: cannot list backgrounded jobs when inside bash script

我想在 bash 脚本中查看后台作业。 这可能吗? 为了说明我 运行 命令 /usr/bin/experiment 在这里结束 没有输出。

$ cat /usr/bin/experiment
#!/bin/bash
echo $(jobs)

$ watch ls

[1]+  Stopped                 watch ls
$ /usr/bin/experiment

$ 

您的脚本启动了一个新的 shell,它看不到原始 shell 的活动作业。

如果您运行您的脚本如下:

source /usr/bin/experiment

你会得到你正在寻找的输出