我不明白bash中所有这些命令之间的区别,
echo "Hello world" > log&
echo "Hello world" >& log
echo "Hello world" >& log&
每个&都做些什么?
据我所知,far &最后,把整个东西放到后台去。但是,>之后的&又如何呢?
写作有什么好处吗?
echo "Hello world" >& log&
而不是
echo "Hello world" > log&
发布于 2018-08-27 07:39:58
根据, §3.6.4 "Redirecting Standard Output and Standard Error"的说法,>&
表示法将标准输出和标准错误一起重定向。
在您的特定示例中,我不希望echo "Hello world"
向标准错误写入任何内容,因此&
实际上不会更改任何内容;但是,如果它确实向标准输出和标准错误写入内容,那么log
最终将同时向标准输出和标准错误写入。
顺便说一句,根据同一节,等价的符号&>
比>&
更可取(大概是因为>&
容易与>&1
这样的符号混淆,后者做的是完全不同的事情)。
https://stackoverflow.com/questions/52030998
复制相似问题