在我的服务器nohup sleep 1 > nohup.out &
上没有提供任何帮助信息。好的。
在我的笔记本电脑上运行相同的命令,我得到:nohup: ignoring input and redirecting stderr to stdout
. 尽管命令仍然运行并正确完成,但我不明白为什么在我的两台机器之间报告此消息时存在差异。不过幸运的是,我可以通过简单地将 stderr 和 stdout 重定向到一个文件来解决我的笔记本电脑上的这个问题:nohup sleep 1 &> nohup.out &
所以....我想做的是在我的笔记本电脑上实现一个更有用的命令:
以下在我的服务器上运行良好,并且没有报告任何消息:
nohup ls -1 *.txt | sed -e "s%\(.*\)%/home/user/scripts/script.pl -find \1 %" | sh > nohup.out &
这行代码“nohups”将文件列表通过管道传输到 sed 中,它们在其中script.pl
连续运行并在 shell 中执行。script.pl
将数据打印到多个文件,并将一些信息打印到标准输出。我通过将其写入一个名为的文件来捕获此信息nohup.out
现在,当我在笔记本电脑上运行这个单行代码时,我得到nohup: ignoring input and redirecting stderr to stdout
. 这是意料之中的(但出于我不知道的原因)。但是当我修改该行以重定向标准错误和标准输出时:
nohup ls -1 *.txt | sed -e "s%\(.*\)%/home/user/scripts/script.pl -find \1 %" | sh &> nohup.out &
我仍然收到消息nohup: ignoring input and redirecting stderr to stdout
如何修复我的 one-liner 以便它在我的笔记本电脑上运行而不会收到显示的消息?