linux:shell脚本(逻辑判断和字符串比较)
2018-09-24 00:03
501 查看
常用比较和判断:
整数比较:
-lt 小于 -le 小于等于 -gt 大于 -ge 大于等于 -eq 等于 -ne 不等于 例:if [ ${var} -le 10 ]; then echo "${var}小于等于10" fi 注意:if [ ]里两边要有空格
文件测试:
-f 存在且是普通文件 -d 存在且是目录 -s 存在且字节数大于0 -r 存在且可读 -w 存在且可写 -x 存在且可执行 例:if [ -f ${file} ];then echo "${file}存在且是文件" fi
逻辑判断使用 &&(且)、||(或)、!(取反)
例:if [ ! -d ${file} ]; then echo "${file}不存在或者不是目录" fi
字符串比较:常用比较运算符:= 或者(==)、!=
-z表示后面的值是否为空,为空则返回true,否则返回false。 -n表示判断后面的值是否为空,不为空则返回true,为空则返回false。 例:if [ -z ${str} ] || [ -z ${var} ]; then echo "${str}值为空或者${var}的值为空" fi str="root" if [ ${str} == 'root' ]; then echo "${str}字符串与root相等" fi
注意:
比较运算符的两边都有空格分隔(即==或=两边要有空格,如果没有空格,不能做判断,直接运行if后的语句),同时要注意比较运算符两边的变量是否可能为空,
例:str="root" if [ ${str}=="root" ];then echo "erro" fi ==两边没有空格,不会进行if判断,直接运行echo "erro" 在使用变量比较字符串之前,最好在判断之前加一个判断变量是否为空 或者使用双引号将其括起来, 注意,必须使用双引号,因为变量在双引号中才会被解析。 例:str="root" if [ -n ${str} ];then echo "${str}值不为空" fi if [ "${str}" == "root" ];then echo "${str}与root相等" fi阅读更多
相关文章推荐
- shell脚本--逻辑判断与字符串比较
- linux的shell脚本下判断一个变量值或字符串是否为整数
- linux的shell脚本中的逻辑判断、文件目录属性判断、if特殊用法、case判断
- Shell脚本 字符串大小比较 字符串是否相等比较 字符串是否为空判断
- Linux系统shell脚本对字符串、数字、文件的判断
- Shell脚本 字符串大小比较 字符串是否相等比较 字符串是否为空判断
- linux学习第六十四篇:Shell脚本中的逻辑判断,文件目录属性判断, if特殊用法,case判断
- Shell脚本 字符串大小比较 字符串是否相等比较 字符串是否为空判断
- Linux系统shell脚本判断变量文件目录+l脚本的字符串截取(转)
- Shell脚本执行hive语句 | hive以日期建立分区表 | linux schedule程序 | sed替换文件字符串 | shell判断hdfs文件目录是否存在
- Shell脚本 字符串大小比较 字符串是否相等比较 字符串是否为空判断
- Linux系统shell脚本对字符串、数字、文件的判断
- Shell脚本 字符串大小比较 字符串是否相等比较 字符串是否为空判断
- Shell脚本判断Linux系统是32位还是64位的几种方法分享
- [Linux] shell脚本之if判断
- shell脚本--if判断(数字条件、字符串条件)
- Linux系统shell脚本判断变量文件目录:权限、是否存在、空值、相等
- shell脚本--if判断(数字条件、字符串条件)
- linux之基础shell脚本编程2 if语句循环判断
- 【脚本】shell 判断变量中是否包含某个字符串