shell代码脚本将stderr重定向到stdout(2>&1)是什么意思?

0x9*_*x90 2 linux shell stdout stderr

我知道,这2>&1使您可以重定向stderr到任何地方stdout.

  • 但是&这个shell代码意味着什么?是不是附加运营商?
  • 是否可以将所有描述符流式传输到stdout?

Kam*_*rot 5

绝对精确 - 运算符>&将操作符之前记录的描述符合并到操作符之后写入的描述符.

因此,如上所述,操作员是>&并且询问&其中的含义是没有任何意义的.

对于你的第二个问题 - 我认为一个操作员不可能/你需要为你需要的每个操作重复它.

控制台应用程序的标准/默认描述符是:

0 - stdin
1 - stdout
2 - stderr
Run Code Online (Sandbox Code Playgroud)

任何其他可以由应用程序定义...