【问题标题】:nohup redirection command differencenohup 重定向命令区别
【发布时间】:2013-05-15 21:17:58
【问题描述】:

下面这两行有什么区别?

nohup $CATALINA_HOME/bin/startup.sh $CATALINA_HOME 2> /dev/null &

nohup $CATALINA_HOME/bin/startup.sh $CATALINA_HOME > /dev/null &

我的 2 个项目中有 Tomcat 服务器。其中一个是 2>,另一个是 > 符号。

感谢您的帮助!

注意:如果在 CentOS 中运行,带有 2> 的行运行良好,但另一行给出警告:“nohup: redirecting stderr to stdout”

谢谢!

【问题讨论】:

    标签: linux unix


    【解决方案1】:

    都重定向到/dev/null 第一个重定向stderr 第二个重定向stdout

    更多信息:http://www.tldp.org/LDP/abs/html/io-redirection.html,还有一些来自 tldp http://tldp.org/HOWTO/Bash-Prog-Intro-HOWTO-3.html 的示例

    旁注:如果您想同时重定向stdoutstderr,您可以这样做:

    nohup $CATALINA_HOME/bin/startup.sh $CATALINA_HOME &> /dev/null &
    

    【讨论】:

    • 当我在 Red Hat 5.7 OS 上运行第二行时,它没有给我任何警告,但是当在 CentOS 6.4 上运行同样的代码时,它给出警告“nohup: redirecting stderr to stdout”,如何我可以在 CentOS 中避免这个警告吗?
    • 我已经更新了我的答案,看看最后一个重定向stdoutstderr的命令
    • &> 是一种非标准机制。它在某些 shell(例如 bash)中重定向两个流,而在其他 shell(例如 dash,它符合 sh 语言规范并将& 视为单独的标记,在后台运行命令然后截断文件)中的行为完全不同您打算将输出定向到的位置。)
    • 那要看OP的sh了。不过谢谢你。
    • 快速提问:为什么 red hat OS 没有给出第二行的警告信息,而 centOS 给出了警告?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多