繁体   English   中英

命令末尾的“</ dev / null>&/ dev / null”是做什么的?

[英]What does “< /dev/null >& /dev/null” at the end of a command do?

我在ssh上运行的一个脚本正在挂起,我在这个站点找到了一个解决方案: http//www.snailbook.com/faq/background-jobs.auto.html

该站点通过将此添加到命令的末尾来解决问题:

xterm < /dev/null >& /dev/null &

我想我知道它的作用是什么,但有人能帮忙解释一下吗?

第一部分:

# For stdin, read from /dev/null
< /dev/null

第二部分:

>& /dev/null

什么>&做? 我已经看到2>&1这是直接STDERR到STDOUT,但是当没有数字时,这是否意味着将所有内容重定向到/dev/null

是的,这意味着将stdout和stderr重定向到/ dev / null。

info "(bash)Redirections"

重定向标准输出和标准错误

Bash允许将标准输出(文件描述符1)和标准错误输出(文件描述符2)重定向到名称为WORD扩展的文件。

重定向标准输出和标准错误有两种格式:

 &>WORD 

 >&WORD 

在这两种形式中,第一种是优选的。 这在语义上等同于

 >WORD 2>&1 

使用ssh另一种方式(实现你可能想要的)是传递-f标志,即

ssh -X -f your.host.org xterm

谷歌搜索'流重定向>&'将让你找到http://tldp.org/LDP/abs/html/io-redirection.html

除其他外,它告诉你

  >&j

  # Redirects, by default, file descriptor 1 (stdout) to j.
  # All stdout gets sent to file pointed to by j.

也许这已经有所帮助。

或者搜索标准unix shell的帮助,比如bash,以进行流重定向。

RGDS,

托马斯

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM