给出这样的命令:
command <inputfile> <outputfile>
然后这样调用:
command FileA > FileC FileB
它接受A
和B
作为输入并输出到C
,但是它如何解析第三个参数,因为输出重定向位于参数之间?
答案1
shell 解析命令行并设置重定向。在这种情况下,它会看到> FileC
,设置相应的重定向,并从命令中删除这些术语:所以最终执行的是
command FileA FileB
command
它本身永远看不到这个> FileC
部分。
看shell 的控制和重定向运算符是什么?有关一般重定向的详细信息。