用& (&符号)在bash中不起作用

时间:2015-02-21 22:20:10

标签: bash shell tmux

我试图用bash脚本编写tmux脚本。

这是我用来在后台执行另一个脚本的行(引号是行的一部分):

"$CURRENT_DIR/scripts/continuum_restore.sh" &

在我的机器上运行正常。问题是,对于使用该脚本的其他用户来说,上面的行似乎没有背景*。脚本在他的情况下同步执行。 有趣的是,我们尝试从登录shell(sleep 10 &)中后台化一个随机进程,在这种情况下工作正常。

这是用户打开的github issue

以下是用户计算机的所有信息,其背景似乎不起作用:

  • OSX 10.10.1
  • bash --version是GNU bash,版本3.2.53(1)-release(x86_64-apple-darwin14)
  • 用户' tmux版本为1.9a(如果这很重要)

这是包含未背景的行link的整个脚本。有问题的一行是56。

理想情况下,我想首先一致地重现问题,然后尝试修复它。以下是我试图重现该问题的事情(失败):

  • set +m(在&符号前面设置此项)
  • stty susp undef(在&符号前面设置此项)
  • 同时设置以上

我遇到的具体问题是:在bash / shell中可以使用哪个选项来禁用后台功能? (所以我可以重现上述问题)

1 个答案:

答案 0 :(得分:0)

您可以尝试重定向输出。它可能会阻止作业在后台运行。

nohup "$CURRENT_DIR/scripts/continuum_restore.sh" >/tmp/output.log &