Tim*_*Tim 10 shell bash io-redirection
如果同时使用多个重定向,更改它们的顺序会有所不同吗?
如何理解他们的命令的含义?重定向的链接通道是从左到右还是从右到左读取重定向?
例如
command 2>&1 > somefile
command > somefile 2>&1
Run Code Online (Sandbox Code Playgroud)
感谢致敬!
是的,顺序会有所不同,应该从左到右阅读。
command 2>&1 >somefile表示将 stderr (2) 重定向到 stdout 的当前目的地(终端)。然后将 stdout 更改为转到somefile. 所以 stderr 进入终端,stdout 进入文件。
command >somefile 2>&1表示将 stdout 重定向到somefile,然后将 stderr 重定向到与 stdout(文件)相同的目标。所以 stderr 和 stdout 都转到somefile.