我正在尝试使用以下bash命令“命令< f1> f2 2> f3”它是否会如下工作?
由于
答案 0 :(得分:4)
执行命令行时
somecommand <f1 >f2 2>f3
f1
与命令的标准输入流和f2
和f3
标准错误流,按此顺序。
请注意,重定向的顺序很重要:
如果f1
不可读,则会产生错误(由shell生成),并且命令将不会执行。 1}}和f2
都不会被创建或截断。
如果f3
不可写,则会产生错误(由shell生成),并且命令不会执行。 <{1}}将不会被创建或截断。
如果f2
不可写,则会产生错误(由shell生成),并且命令不会执行。 <{1}}仍会被创建和/或截断。
然而,f3
在命令行上的相对位置并不重要。
f3
与
相同f2
和
somecommand
和
somecommand <f1 >f2 2>f3
这是因为重定向与它们影响的命令分开处理,并且它们不是命令的命令行参数。
另见: