必须用nohup命中输入

时间:2010-11-06 09:45:38

标签: linux

我有一个像这样的shell命令

sudo nohup coffee -c -w *.coffee &
disown $!
wait

但是当我运行shell scrit时它会显示nohup: appending output to 'nohup.out'并让我按下回车键。 如何绕过Enter?

3 个答案:

答案 0 :(得分:5)

据我了解,你不必这样做。消息将输出到控制台,但不会添加到输入缓冲区。因此,您可以继续输入命令,就像没有来自nohup的消息一样,该消息不会干扰您的输入。

嗯,不必从确切的提示位置打字可能在美学上不那么讨人喜欢。

答案 1 :(得分:3)

8岁的帖子,但我发现这些答案都没有真正解决问题中的问题。

消息nohup: ignoring input and appending output to 'nohup.out'通过stderr(AFAIK)传送,因此为了使该消息静音,您所要做的就是将stderr重定向到/dev/null,如下所示:

nohup mycommand 2> /dev/null

但是,如果您还想在后台使用&运行此过程,您会发现(至少对于bash),将会有一个作业号和PID的单行输出(例如{ {1}})。要避免这种情况,请在子shell中运行整个命令,如下所示:

[1] 27184

但如果你在脚本中使用它,那么前一种解决方案就足够了。

答案 2 :(得分:1)

您也可以手动重定向日志:
sudo nohup coffee -c -w *.coffee > /tmp/coffee.log &

这样消息根本不会显示出来。