&Number有什么作用?


1

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


我将问题更改为shell中的&Number是什么?Ampersand在Linux中全部使用,问题稍微含糊不清,直到你阅读细节
Rich Homolka 2010年

Answers:


5

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

./program 2>&1

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

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

./program >file.txt 2>&1

其中将标准输出重定向到文件中,然后将标准错误重定向到标准输出中,以便获得在文件中捕获的常规输出和错误输出。


1
有关更多详细信息,请参阅gnu.org/software/bash/manual/bashref.html“3.6 Redirections”部分

1

对于Bourne型贝壳(bash等)

mycmd > /output/file 2>&1

将标准错误输出(文件描述符2)与标准输出(文件描述符1)合并,并将它们写入/output/file



0

&1是标准输出(STD_OUT),&2是标准错误流(STD_ERR

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.