我在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
?
答案 0 :(得分:12)
是的,这意味着将stdout和stderr重定向到/ dev / null。
来自info "(bash)Redirections"
:
重定向标准输出和标准错误
Bash允许标准输出(文件描述符1)和 要重定向到文件的标准错误输出(文件描述符2) 它的名字是用这种结构扩展WORD。
有两种格式可以重定向标准输出和标准错误:
&>WORD
和
>&WORD
在这两种形式中,第一种是首选。这是语义上的 相当于
>WORD 2>&1
答案 1 :(得分:1)
用ssh
另一种方式(达到你想要的)是传递-f
标志,即
ssh -X -f your.host.org xterm
答案 2 :(得分:0)
Google搜索“流重定向&gt;&amp; '会让你找到 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,
托马斯