的意义
&&和
&本质上是不同的。
- 什么是
&&
Bash中?在Bash和其他许多编程语言中,&&
意思是“与”。并且在这样的命令执行上下文中,这意味着&&
在这种情况下,应按顺序运行左侧和右侧的项目。 - 什么是
&
Bash中?而且,单个&
命令意味着前面的命令(紧靠其左端)应&
仅在后台运行。
所以看你的例子:
gndlp@ubuntu:~$ test -x examples.desktop && echo $?gndlp@ubuntu:~$ test -x examples.desktop & echo $?[1] 29920
实际上,第一个命令实际上并不返回任何内容。但是第二个命令返回一个
[1]2992,其中
2992引用了在后台运行的进程ID(PID),并且
0是第一个命令的输出。
由于第二个命令只是
test -x examples.desktop在后台运行,因此它很快发生,因此产生了进程ID,并立即消失了。



