&&是逻辑“与”,只有当前面语句执行成功的时候才会执行后面的命令。
||是逻辑“或”,只有当前面语句执行失败的时候才会执行后面的命令。
!是逻辑“非”,代表对逻辑测试结果取反值,之前是正确则变错误,错误则变正确。
例子:
判断当前用户是否为非管理员用户。
[root@localhost ~]# [ ! $USER = root ] && echo "user" || echo "root"
root
注:当前我们正在登录的即为管理员用户——root。下面这个示例的执行顺序是,先判断当前登录用户的USER变量名称是否等于root,然后用逻辑运算符“非”进行取反操作,效果就变成了判断当前登录的用户是否为非管理员用户了。最后若条件成立则会根据逻辑“与”运算符输出user字样;或条件不满足则会通过逻辑“或”运算符输出root字样,而如果前面的&&不成立才会执行后面的||符号。
本实例来自:《Linux就该这么学》一书,地址:https://www.linuxprobe.com