shell脚本中的逻辑判断、文件目录属性判断、if特殊用法、case判断
2017-11-28 11:22
946 查看
shell脚本中的逻辑判断
逻辑表达式在[ ]中括号中:
以下是数字的比较
-lt:=little than 小于
-le:=little && equal 小于等于
-eq:=equal 等于
-ne:=no equal 不等于
-gt:=greater than 大于
-ge:=greater && equal 大于等于
字符串的比较
<,<=,==,!=,>,>=
1、if then fi
[root@centos7 shell]# vi test.sh
#!/bin/bash
a=9
if [ $a -gt 2 ]
then
echo "ok"
fi
2、多条件判断
if then elif then elif then fi
3、
条件A&&条件B:并且
条件A||条件B:或者
4、shell脚本中if经常用于判断文档的属性,比如判断是普通文件还是目录文件,判断文件是否有读、写、执行权限等。if常用的选项有以下几个:
-e:判断文件或目录是否存在
-d:判断是不是目录文件以及是否存在
-f:判断是不是普通文件以及是否存在
-r:判断是否有读权限
-w:判断是否有写权限
-x:判断是否有执行权限
如果文件不存在:! -f
[root@centos7 shell]# vi test.sh
#!/bin/bash
if [ ! -f /tmp/filename ]
then
echo '不存在'
fi
5、
if [ -z "$a" ]:表示当变量a的值为空时会怎样
if [ -n "$a" ]:表示当变量a的值不为空时会怎样
#!/bin/bash
n=
cat /tmp/test.txt
if [ -z $n ]
then
echo '为空'
else
echo '不为空'
fi
6、
判断某参数存在:
[root@localhost sbin]# vim if1.sh
#!/bin/bash
if
grep -wq 'user1' /etc/passwd
then
echo "user1 exist."
fi
[root@localhost sbin]# sh if1.sh
判断某参数不存在:
[root@localhost sbin]# vim if2.sh
#!/bin/bash
if
! grep -wq 'user1' /etc/passwd
then
echo "no user1"
fi
[root@localhost sbin]# sh if2.sh
no user1
case判断
格式:case 变量名 in
value1)
commond1
;;
value2)
commod2
;;
value3)
commod3
;;
esac
在case中,可以在条件中使用“|”,表示或的意思,如:
2|3)
commond
;;
#!/bin/bash read -p "Please input a number: " n if [ -z "$n" ] then echo "Please input a number." exit 1 #“exit 1”表示执行该部分命令后的返回值 #即,命令执行完后使用echo $?的值 fi n1=`echo $n|sed 's/[0-9]//g'` #判断用户输入的字符是否为纯数字 #如果是数字,则将其替换为空,赋值给$n1 if [ -n "$n1" ] then echo "Please input a number." exit 1 #判断$n1不为空时(即$n不是纯数字)再次提示用户输入数字并退出 fi 如果用户输入的是纯数字则执行以下命令: if [ $n -lt 60 ] && [ $n -ge 0 ] then tag=1 elif [ $n -ge 60 ] && [ $n -lt 80 ] then tag=2 elif [ $n -ge 80 ] && [ $n -lt 90 ] then tag=3 elif [ $n -ge 90 ] && [ $n -le 100 ] then tag=4 else tag=0 fi #tag的作用是为判断条件设定标签,方便后面引用 case $tag in 1) echo "not ok" ;; 2) echo "ok" ;; 3) echo "ook" ;; 4) echo "oook" ;; *) echo "The number range is 0-100." ;; esac
相关文章推荐
- shell脚本中的逻辑判断、文件目录属性判断、 if特殊用法、case判断
- shell脚本中的逻辑判断,文件目录属性判断,if特殊用法,case判断
- 【shell编程】shell脚本中的逻辑判断、文件目录属性判断、if特殊用法和case判断
- 十六周三次课 2018.02.06 shell脚本中的逻辑判断、文件目录属性判断、if特殊用法、case判断
- shell脚本中的逻辑判断文件目录属性判断 if特殊用法 case判断
- shell脚本中的逻辑判断,文件目录属性判断,if特殊用法,case语句
- linux的shell脚本中的逻辑判断、文件目录属性判断、if特殊用法、case判断
- shell脚本中的if逻辑判断、文件目录属性判断、if特殊用法、case判断
- linux学习第六十四篇:Shell脚本中的逻辑判断,文件目录属性判断, if特殊用法,case判断
- shell脚本结构、date命令、变量 shell脚本中的逻辑判断 文件目录属性判断 if特殊用法 case判断
- shell脚本中的逻辑判断-文件目录属性判断-if特殊用法-case判断
- 20.5 shell脚本中的逻辑判断 20.6 文件目录属性判断20.7 if 特殊用法 20.8/20.9 case判断
- 20.5 shell脚本中的逻辑判断 文件目录属性判断 if特殊用法
- shell脚本中的逻辑判断 文件目录属性判断 if特殊用法 case判断
- 20.5 shell脚本中的逻辑判断 20.6 文件目录属性判断 20.7 if特殊用法 20.8/20.9 case判断
- Shell编程(逻辑判断、文件目录属性判断、if特殊用法、case判断)
- 20.5 Shell脚本中的逻辑判断;20.6 文件目录属性判断;20.7 if特殊用法;20.8 20.9 cace判断(上下)
- shell逻辑判断、文件属性判断、if特殊用法、case判断
- shell逻辑判断、文件属性判断、if特殊用法、case判断
- centos shell脚本编程1 正则 shell脚本结构 read命令 date命令的用法 shell中的逻辑判断 if 判断文件、目录属性 shell数组简单用法 $( ) 和${ } 和$(( )) 与 sh -n sh -x sh -v 第三十五节课