shell脚本中不少都是逻辑判断,判断某个数值,判断某一个文件,或者某个目录,最后真对判断的某个结果再去作一些操做,在shll脚本中处处都是逻辑判断,若是没有判断就没有办法去作一些操做,否则只能敲命令了,shell
shell中逻辑判断的语法ide
若是a的值大于3软后怎么样3d
[root@100xuni1 ~]# a=5 [root@100xuni1 ~]# if [ $a -gt 3 ]; then echo ok; fi
把上图写成shll脚本code
a=5,若是a的值大于3,而后echo ok,若是不大于3就echo nookblog
- 逻辑判断表达式:if [ $a -gt $b ]; if [ $a -lt 5 ]; if [ $b -eq 10 ]等 -gt (>); -lt(<); -ge(>=); -le(<=);-eq(==); -ne(!=) 注意处处都是空格
大于用-gt 小于用-lt 等于-eq 不等于-nq
条件能够写成多个中间用双&的符号,或者用||符号it
[ -f file ]判断是不是普通文件,且存在class
[ -d file ] 判断是不是目录,且存在基础
[ -e file ] 判断文件或目录是否存在变量
[ -r file ] 判断文件是否可读bfc
[ -w file ] 判断文件是否可写
[ -x file ] 判断文件是否可执行
if [ -z "$a" ] 这个表示当变量a的值是否为空
有的时候想的不是太完美,万一删除这个文件,就会报错,这个文件没有看下图报错,
判断下$n有没有数值,有数值的时候再去作判断。
**在shell中还有一种逻辑判断叫作case,这个语句比if这些还复杂一些,
写个脚本试一试case的做用,这个脚本的目的是让一个用户输入一个数字而后咱们用这个脚本去判断数字的范围,好比让你输入0到100,这个数字表示一个同窗的分数,当你输入这个数字咱们就要判断出来,这个同窗的分数是什么样的级别,是优秀仍是及格,或者不及格