版权声明:本文为博主原创文章,转载请注明源地址。 https://cloud.tencent.com/developer/article/1433479
好久以前就看到一些脚本中执行一个命令用’&'结尾,类似如下:
#!/bin/bash
lcd_test &
当时搞明白了意思,但现在又忘记了,赶紧补习一下在此做个记录:
根据stackoverflow上这个帖子《What does “&” at the end of a linux command mean?》的回答(如下图红框标),命令以’&'结尾就是让命令以后台形式运行。
说实话,要照answer所说执行man bash
来找到这个手册上的说明真不容易,我没找到,不过我在gnu的官网的
bash参考手册中找到了官方说明:《Bash Reference Manual》
在《3.2.5 Coprocesses》节(如下图),可知‘&’是一个 control operator
,与coproc
等价,用于在subshell中异步执行命令。
并在 《3.7.3 Command Execution Environment》 找到关于‘&’ 更进一步的说明,如下图红框标注
关于什么是control operator
,参见2 Definitions(如下图),我们所熟知的||
,&&
都是control operator
《Bash Reference Manual》是关于Bash很权威详尽的资料了,如果关于bash有什么不明白的,在这个文档中搜索到的都是最终答案。