在Bash中的方括号内/外输出重定向
如果以下两者之间的重定向有任何区别,是否有人可以好好澄清一下:
[ $var1 -eq $var2 ] &> out.tmp
和
[ $var1 -eq $var2 &> out.tmp ]
这是重新定向在方括号内。 我搜索了一个没有运气的答案。 在Bash中,两者似乎都是一样的。
谢谢!
PS:使用双方括号会有所作为?
bash手册说:“......重定向操作符可能先于或出现在简单命令中的任何地方或可能遵循命令。” [
... ]
是一个简单的命令(你可以在bash手册中查找定义),所以重定向可能出现在任何地方。 [[
... ]]
被列为复合命令,所以重定向只能在它后面。
上一篇: Output redirection inside/outside square brackets in Bash