我正在使用Red Hat Linux Enterprise版本5。我注意到人们有时会运行带有两个&
选项的命令。例如,在下面的命令中,有两个&
符号。他们的目的是什么?它们是否总是与nohup一起使用?
nohup foo.sh <script parameters> >& <log_file_name> &
除了马丁,阿什和凯文的答案外,有时您还会看到在数学上用于表示“与”和*的“&”号:
$ echo $(( 11 & 7 ))
3
如果您不熟悉位运算符:
11: 1011
7: 0111
-------- AND
3: 0011
在每个位置的第一个数字和第二个数字中都有一个位,将答案中的该位设置为一个。
* Kevin答案中的功能称为逻辑AND。
为了详细说明Ash的答案,在用于重定向符时,“&”号可以告诉Shell复制文件描述符。在此命令中echo "hello" > outputfile 2>&1
,“&”号会使可能出现标准错误(stderr,文件描述符2)的所有输出与标准输出(stdout,文件描述符1,左侧的默认值)一起到达同一位置>
。该>& outputfile
运营商的简写> outputfile 2>&1
。
此外,Bash 4中的新增功能在case
命令中有两个子句终止符;&
,;;&
它们会影响一个案例是否“掉线”,如果是,则会影响是否执行下一个测试。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句