为什么要使用'&'运行Linux shell命令?

乔治2

我正在使用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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章