温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Shell测试语句-与或非

发布时间:2020-07-12 23:12:05 来源:网络 阅读:158 作者:就是老十三 栏目:系统运维

[root@master1-192-168-117-18 ~]# [ -d /etc/dev ] 测试语句两边应该有一个空格
[root@master1-192-168-117-18 ~]# echo $?
1

[root@master1-192-168-117-18 ~]# [ -e /etc/profile ]
[root@master1-192-168-117-18 ~]# echo $?
0

[root@master1-192-168-117-18 ~]# [ -e /etc/profile ] && echo "I love you"
I love you

    除了逻辑“与”外,还有逻辑“或”,它在Linux系统中的运算符号为||,表示当前面的命令执行失败后才会执行它后面的命令,因此可以用来结合系统环境变量USER来判断当前登录的用户是否为非管理员身份:
            [xiha@master1-192-168-117-18 ~]$ [ $USER = root ] || echo "No's root"

No's root

            第三种逻辑语句是“非”,在Linux系统中的运算符号是一个叹号(!),它表示把条件测试中的判断结果取相反值。也就是说,如果原本测试的结果是正确的,则将其变成错误的;原本测试错误的结果则将其变成正确的

[root@master1-192-168-117-18 ~]# [ $USER != root ] || echo "no's root"
no's root

   先判断当前登录用户的USER变量名称是否等于root,然后用逻辑运算符“非”进行取反操作,效果就变成了判断当前登录的用户是否为非管理员用户了。最后若条件成立则会根据逻辑“与”运算符输出user字样;或条件不满足则会通过逻辑“或”运算符输出root字样,而如果前面的&&不成立才会执行后面的||符号。

[root@master1-192-168-117-18 ~]# [ $USER != root ] && echo "user" || echo "root"
root

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI