首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >'nohup 2>&1 >out‘vs 'nohup >out 2>&1’

'nohup 2>&1 >out‘vs 'nohup >out 2>&1’
EN

Stack Overflow用户
提问于 2020-05-17 00:12:47
回答 1查看 2.3K关注 0票数 0

对于我来说,以下两个bash命令产生不同的结果:

代码语言:javascript
复制
# returns instantly
ssh localhost 'nohup sleep 5 >out 2>&1 &'
# returns after 5 seconds
ssh localhost 'nohup sleep 5 2>&1 >out &'

这是令人惊讶的,因为以下两个bash命令产生了相同的结果:

代码语言:javascript
复制
# both return instantly
nohup sleep 5 >out 2>&1 &
nohup sleep 5 2>&1 >out &

为什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-17 00:59:48

此表格:

command >out 2>&1

..。取出标准文件并放入文件中。然后,它获取标准错误,并将其放置到与标准输出相同的位置。两个流都被发送到一个文件中。

此表格:

command 2>&1 >out

..。获取标准错误并将其置于标准输出中。然后将发送到标准文件的内容发送到文件中。它的发送标准错误到文件。

因此,在您的终端,您是回搁浅的任务和提示立即返回。在第一种情况下,在使用ssh时,没有显示输出,因为所有内容都已发送到文件中。在另一种情况下,标准输出仍然可以显示应用程序试图发送到标准错误的信息。

我的期望是,在第一种情况下,ssh将立即返回,因为任何输出都不会返回。在第二种情况下,有一个开放的流可以返回数据供您查看。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61845320

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档