Shell编程——条件判断(2)

Shell编程之条件判断

条件测试操作

test命令

测试特定的表达式是否成立,当条件成立时,测试语句的返回值为0,否则为其他数值

格式1:test 条件表达式
格式2:[ 条件表达式 ]

文件测试
[ 操作符 文件或目录 ]
常用的测试操作符
-d:测试是否为目录
-e:测试目录或文件是否存在
-f:测试是否为文件
-r:测试当前用户是否有权限读取
-w:测试当前用户是否有权限写入
-x:测试当前用户是否有权限执行

整数值比较
[ 整数1 操作符 整数2 ]
常用的测试操作符
-eq:等于
-ne:不等于
-gt:大于
-lt:小于
-le:小于或等于
-ge:大于或等于

字符串比较
格式1:[ 字符串1 = 字符串2 ]
[ 字符串1 != 字符串2 ]
格式2:[ -z 字符串 ]

逻辑测试
格式1:[ 表达式1 ] 操作符 [ 表达式2 ]...
格式2:命令1 操作符 命令2 ...
常用的测试操作符
-a或&&:逻辑与,”而且”的意思
-o或||:逻辑或,”或者”的意思
!:逻辑否

If语句的结构

单分支结构

if                          //条件测试操作
    then                  //命令序列
fi                        //结束命令序列判断

脚本实例:
#!/bin/bash
#比较输入的整数大不大
read -p "请输入一个整数:" num
if [ $num -ge 5 ]
 then
        echo "这个数大"
fi

双分支结构

if                               //条件测试操作
    then                      //命令序列1
    else                    //命令序列2
fi                         //结束命令序列判断

脚本实例:
#!/bin/bash
#比较输入的整数大不大
read -p "请输入一个整数:" num
if [ $num -ge 5 ]
 then
        echo "这个数大"
 else
        echo "这个数小"
fi

多分支结构

if                             //条件测试操作1
    then                      //命令序列1
elif                          //条件测试操作2
    then                     //命令序列2else
                               //命令序列3
fi                            //结束命令序列判断

#!/bin/bash
read -p "请输入你的成绩:" num
if [ $num -gt 85 ] && [ $num -le 100 ]
 then
        echo "优秀"
elif [ $num -gt 60 ] && [ $num -le 85 ]
 then
        echo "良好"
 else
        echo "不及格"
fi

嵌套if语句

#!/bin/bash
read -p "请输入你的比赛时间:" num
if [ $num -lt 10 ]
 then
        echo "恭喜你进入决赛"
 read -p "您的性别是:" sex
 if [ $sex = "男" ]
  then
        echo "您进入男子组"
 else
        echo "您进入女子组"
 fi
else
        echo "抱歉你无缘决赛"
fi

谢谢阅读!!!

原文地址:https://blog.51cto.com/14080162/2440562

时间: 2024-10-11 16:46:04

Shell编程——条件判断(2)的相关文章

shell编程---条件判断

一.shell编程之条件判断 1.整数测试 a.条件测试的表达式 [ expression ] [[ expression ]] test expression b.整数比较 -eq: 测试两个整数是否相等:比如 $A -eq $B -ne: 测试两个整数是否不等:不等,为真:相等,为假: -gt: 测试一个数是否大于另一个数:大于,为真:否则,为假: -lt: 测试一个数是否小于另一个数:小于,为真:否则,为假: -ge: 大于或等于 -le:小于或等于 c.命令的间逻辑关系 逻辑与: &&am

shell编程 条件判断式----利用 case ..... esac 判断

条件判断式----利用 case ..... esac 判断 case  $变量名称 in   <==关键词为 case ,还有变量前有钱字号 "第一个变量内容")   <==每个变量内容建议用双引号括起来,关键词则为小括号 ) 程序段 ;;            <==每个类别结尾使用两个连续的分号来处理! "第二个变量内容") 程序段 ;; *)                  <==最后一个变量内容都会用 * 来代表所有其它值 不包含

shell编程 条件判断式----利用 if .... then ----多重

条件判断式----利用 if .... then ----多重 在同一个数据的判断中,如果该数据需要进行多种不同的判断时,应该怎么作?举例来说,上面的 sh06.sh 脚本中,我们只要进行一次 $yn 的判断就好 (仅进行一次 if ),不想要作多次 if 的判断. 此时你就得要知道底下的语法了: # 一个条件判断,分成功进行与失败进行 (else) if [ 条件判断式 ]; then 当条件判断式成立时,可以进行的指令工作内容: else 当条件判断式不成立时,可以进行的指令工作内容: fi

shell编程-条件判断式

条件判断式主要有以下6种类型: [[email protected] test]# ls -l total 8 drwxr-xr-x 2 root root 4096 Jan 17 19:28 shell -rw-r--r-- 1 root root 4 Jan 17 19:29 test.sh [[email protected] test]# [ -d test.sh ] && echo "yes" || echo "no" no [[email

Linux学习 -- Shell编程 -- 条件判断

按照文件类型进行判断 两种格式 test -e /root/install.log [ -e /root/install.log ]   注意空格  适合用于脚本中 echo $?可以看到结果 [ -d /root ] && echo yes || echo no 按照文件权限进行判断 两个文件之间进行比较 eg.   [ test.txt -ef test.txt.hard ] && echo yes || echo no 两个整数之间比较 两个字符串之间比较 多重条件判

shell 编程 -- 条件判断

1.按照文件类型进行判断(常用的)-b 判断该文件是否存在-d 判断是否存在,并且是否为目录(是目录就为真)-e 判断该文件是否存在(存在为真)-f 判断文件是否存在,并且是否为普通文件(是普通文件为真)-L 判断该文件是否存在.并且是否为符号链接文件(是符号链接文件为真) 2.按照文件权限进行判断(常用)注意:这里的判断是区分拥有者.所属群.其他者,只要这三个中有任意一个成立就为真-r 判断文件是否存在,并且是否拥有读写权限(有读权限为真)-w 判断文件是否存在,并且是否拥有写权限(有写权限为

Linux Shell编程 条件判断语法

if条件判断语句 单分支 if 条件语句 语法格式: if [条件判断式];then 程序 fi 或者 if [条件判断式] then 程序 fi 在使用单分支 if 条件查询时需要注意几点: if 语句使用 fi 结尾,和一般语言使用大括号结尾不同. [条件判断式] 就是使用 test 命令判断,所以中括号和条件判断式之间必须有空格. then 后面跟符合条件之后执行的程序.可以放在 [] 之后,用";"分隔:也可以换行写入,就不需要";": 示例:通过脚本判断根

shell中条件判断if中的-z到-d的意思

shell中条件判断if中的-z到-d的意思 [ -a FILE ] 如果 FILE 存在则为真. [ -b FILE ] 如果 FILE 存在且是一个块特殊文件则为真. [ -c FILE ] 如果 FILE 存在且是一个字特殊文件则为真. [ -d FILE ] 如果 FILE 存在且是一个目录则为真. [ -e FILE ] 如果 FILE 存在则为真. [ -f FILE ] 如果 FILE 存在且是一个普通文件则为真. [ -g FILE ] 如果 FILE 存在且已经设置了SGID则

Shell脚本---条件判断

面向过程     顺序执行     选择执行:if;case     循环执行:for;while;until   循环需有退出条件 选择执行(选择执行的前提,就是条件测试)    条件测试方式(测试条件)     bash命令测试          bash命令有命令执行状态返回值          $?:用于上一条执行的命令状态返回值          0:成功执行          1-255:失败          可以使用exit命令,在脚本中自定义脚本状态返回值,如果不定义,脚本的状