Shell脚本条件语句(if、case条件测试语句)

目录

  • 一.条件测试
        • 操作符
        • 比较整数数值
  • 二.if语句
      • 2.1、单分支语句
      • 2.2、双分支结构
      • 2.3、多分支语句
  • 三.case语句

一.条件测试

格式1:test 条件表达式
格式2:[ 条件表达式 ]
注意[]空格,否则会失败
测试 是否成功使用返回值
[ 操作符 文件或目录 ]

操作符

-d:测试是否为目录(Directory)
-e:测试目录或文件是否存在(Exist)
-a:测试目录或文件是否存在(Exist)
-f:测试是否为文件(File)
-r:测试当前用户是否有权限读取(Read)
-w:测试当前用户是否有权限写入(Write)
-x:测试当前用户是否有权限执行(eXcute)
-L: 测试是否为软连接文件

比较整数数值

[ a 操作符 b ] 公式

  • -eq:第一个数等于(Equal)第二个数
  • -ne:第一个数不等于(Not Equal)第二个数
  • -gt:第一个数大于(Greater Than)第二个数
  • -lt:第一个数小于(Lesser Than)第二个数
  • -le:第一个数小于或等于(Lesser or Equal)第二个数
  • -ge:第一个数大于或等于(Greater or Equal)第二个数

二.if语句

2.1、单分支语句

格式:
if [ 条件判断式 ]; 
then
fi 					

Shell脚本条件语句(if、case条件测试语句)_第1张图片

#!/bin/bash
a='10'
b='5'
if [ $a -gt $b ]
then
echo "a大于b"
fi

[root@localhost why]# bash a.sh 
a大于b

2.2、双分支结构


if 判断条件; then
 条件为真的分支代码

else
 条件为假的分支代码

fi
#!/bin/bash
read -p "请输入数字来确定大小:" a
if [ $a -gt 80 ]
then
echo "我比80大"
else
echo "我比80小"
fi

[root@localhost why]# bash b.sh 
请输入数字来确定大小:100
我比80大
[root@localhost why]# bash b.sh 
请输入数字来确定大小:50
我比80小

Shell脚本条件语句(if、case条件测试语句)_第2张图片

2.3、多分支语句

多分支

if 判断条件1; then
 条件1为真的分支代码

elif 判断条件2; then
 条件2为真的分支代码

elif 判断条件3; then
 条件3为真的分支代码

...
else
 以上条件都为假的分支代码

fi

Shell脚本条件语句(if、case条件测试语句)_第3张图片

#!/bin/bash
read -p "请输入a或b来确定你是谁:" sss
if [ $sss = "a" ]
then
echo "我是乔治"
elif [ $sss = "b" ]
then
echo "我是保罗"
else
echo "你输入有错,请重新输入。"
fi

[root@localhost why]# bash c.sh 
请输入a或b来确定你是谁:a
我是乔治
[root@localhost why]# bash c.sh 
请输入a或b来确定你是谁:b
我是保罗
[root@localhost why]# bash c.sh 
请输入a或b来确定你是谁:s
你输入有错,请重新输入。

三.case语句

格式:
case 变量名称 in
模式1)
	命令序列
    ;;
模式2)
	程序段
	;;
*)
	不包含第一个变量内容与第二个变量内容的其他程序执行段
	默认程序段
	;;
esac
#!/bin/bash
read -p "请输入一个字符:" x
x=`echo $x|tr 'A-Z' 'a-z'`
case $x in
[a-z])
echo "您输入的是字母"
;;
[0-9])
echo "您输入的是数字"
;;
*)
echo "您输入的是特殊符号"
esac


你可能感兴趣的:(1024程序员节)