交换stdout和stderr
<<< 在3>&1你的命令行会创建一个新的文件描述符,并重定向它1是STDOUT。现在1>&2将重定向文件描述符1,STDERR并将2>&3文件描述符2重定向到3 STDOUT。
所以基本上你交换STDOUT和STDERR这些步骤如下:
- 创建一个新的fd 3并将其指向fd 1
- 将文件描述符1重定向到文件描述符2.如果我们不会在3中保存文件描述符,我们将失去目标。
- 将文件描述符2重定向到文件描述符3.现在切换文件描述符1和2。
现在如果程序打印文件描述符1,它将被打印到文件描述符2,反之亦然。
[查看原链接]:(https://unix.stackexchange.com/questions/42728/what-does-31-12-23-do-in-a-script)
另附一个重定向学习笔记:
(https://unmi.cc/linux-input-output-redirection/)