“3>&1 1>&2 2>&3” 在脚本中的含义

这是交换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/)

猜你喜欢

转载自blog.csdn.net/immeatea_aun/article/details/79026950
今日推荐