多条命令可以在-行中出现,它们可以顺序执行,也可能在相邻命令间存在逻辑关系,即逻辑“与”和逻辑“或”关系。
1.顺序执行
如上所述,每条命令或管道线可单独占一行。例如:
pwd
who|WC-1
cd /usr/bin
显然,这些命令按其出现顺序依次执行。也可将这些命令在一行中输入, 此时各条命令之间应以“,”隔开。例如:
pwd ; whoI WC -1 ; cd /usr/bin
在执行时,以“,”隔开的各条命令从左到右依次执行,即前面命令执行成功与否,并不影响其后命令的执行。它与上面写成多行的形式是等价的。
2.逻辑与
逻辑与操作符&&可把两个命令联系在一起,其一般形式如下:
命令1&&命令2
其功能是,先执行命令1,若执行成功,则执行命令2,否则不执行命令2。例如:
Cp ex1 ex10 && rm ex1
若成功地把文件ex1复制到文件ex10中,则把ex1删除。
注意,命令执行成功时其返回值为0;若执行不成功,则返回非0值。
用&&可以把多个命令联系起来,例如:
cmd1 && cmd2 && … && cmdn
在这种形式的命令序列中,每个命令都按顺序执行,-旦有一个命令执行失败,则后续命令不再执行。因此,后一个命令是否得以执行取决于前一个命令执行成功与否。3.逻辑或
逻辑或操作符“I”可把两个命令联系起来,其般形式如下:
命令1 ||命令2
其功能是,先执行命令1,若执行不成功,则执行命令2;若命令1执行成功,则不执行命令2。例如:
cat abc || pwd
若不能将文件abc的内容列出来,则显示当前工作目录的路径。
同样,利用“‖”可把多个命令联系起来。
操作符“&&”和“|”实际上可视为管道线上的条件运算符,它们的优先级相同,但都低于操作符“&”和“|”的优先级。