14Shell脚本—判断语句
Posted 洛克十年
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了14Shell脚本—判断语句相关的知识,希望对你有一定的参考价值。
判断语句
Shell脚本中的条件测试语法可以判断表达式是否成立,若条件成立则返回数字0,否则便返回其他随机数值。
条件测试语法的执行格式为 [ 条件表达式 ],切记,条件表达式两边均应有一个空格。
条件表达式也可以使用 “test 条件表达式” 格式来使用。
条件测试语句可以分为4种:文件测试语句、逻辑测试语句、整数值比较语句、字符串比较语句
1. 文件测试语句
-d 测试文件是否为目录类型
-e 测试文件是否存在
-f 判断是否为一般文件
-r 测试当前用户是否有权限读取
-w 测试当前用户是否有权限写入
-x 测试当前用户是否有权限执行
使用测试语句判断testdir是否为一个目录类型的文件,然后通过Shell解释器的内设¥?变量显示上一条命令执行后的返回值。如果返回值为0,则目录存在;如果返回值为非零的值,则目录不存在。
#测试语句与$?搭配使用
[[email protected] 0615]# ls -l
total 4
-rw-r--r--. 1 root root 140 Jun 15 16:43 example.sh
drwxr-xr-x. 2 root root 6 Jun 15 17:10 testdir
[[email protected] 0615]# [ -d testdir ]
[[email protected] 0615]# echo $?
0
[[email protected] 0615]# test -d testdir
[[email protected] 0615]# echo $?
0
1.1 Shell中的逻辑“与” &&
表示当前面的命令执行成功后才会执行它后面的命令。
#如果testdir存在,则打印Exist
[[email protected] 0615]# [ -e testdir ] && echo "Exist"
Exist
1.2 Shell中的逻辑“或” ||
表示当前面的命令执行失败才会执行它后面的名令。
#如果testdir01不存在,则打印Not Exist
[[email protected] 0615]# [ -e testdir01 ] || echo "Not Exist"
Not Exist
1.3 Shell中的逻辑“非” !
它表示把条件测试 中的判断结果取相反值。
#如果[ ! $USER = root ]执行失败,则答应administrator
[[email protected] 0615]# [ ! $USER = root ] || echo "administrator"
administrator
以上是关于14Shell脚本—判断语句的主要内容,如果未能解决你的问题,请参考以下文章