&Number 有什么作用?

ima*_*453 1 linux unix command-line

我知道&在命令末尾添加一个会使它在后台运行。我想知道是什么&Number意思?我正在查看一个脚本,其中有一些命令&1&2.

Tyl*_*nry 5

这应该迁移到 SuperUser,但答案是它们引用了文件描述符。&1 是标准输出,&2 是标准错误,所以程序运行如下:

./program 2>&1
Run Code Online (Sandbox Code Playgroud)

将描述符 2(标准错误)重定向到描述符 1(标准输出)

这个的一个常见用途是做这样的事情:

./program >file.txt 2>&1
Run Code Online (Sandbox Code Playgroud)

它将标准输出重定向到一个文件中,然后将标准错误重定向到标准输出中,这样您就可以在文件中捕获常规输出和错误输出。