shell的条件判断语句

1、条件测试:
test命令:测试表达式是否成立,返回0则成立,否则返回其他数值。

[root@localhost ~]# test -f test.sh
[root@localhost ~]# echo $?
0
成立;
常用的测试操作符:
-d:测试是否为目录;
-e:测试目录或者文件是否存在;
-f:测试是否为文件;
-r:测试当前用户是否有读的权限;
-w:测试当前用户是否有写的权限;
-x:测试当前用户是否有执行的权限;

文件测试:

[root@localhost ~]# [ -f test.sh ]
[root@localhost ~]# echo $?
0 返回0表示成立,test.sh存在;
[root@localhost ~]# [ -f test.sh ] && echo yes
yes test.sh存在,条件成立打印yes

整数比较:

常用的测试操作符:
-eq:等于;
-ne:不等于;
-gt:大于;
-lt:小于;
-le:小于等于;
-ge:大于等于;

字符串比较:

[test = test]
[teste != test]

逻辑操作:

-a或&&:表示且的意思;
-o或||:表示或的意思;
!:表示否的意思

[root@localhost ~]# [ -f test.sh ] && [ -f zuoye.sh ] && echo yes
yes

||操作符能够在[ [ ] ]中正常操作,在[ ]的结构中会报错;

条件判断语句if case和多分支结构:
if语句

语法一:
if [ ];then 判断语句 fi
语法二:
if [ ];then 判断语句 else fi
实验:
提示输入百米赛跑的秒数,要求判断秒数大于0且小于等于10秒的进入选拔赛,大于10秒的都淘汰,如果输入其他字符则提示重新输入;并判断男女的性别,男生进男生组,女生进女生组,如果输错提示错误:
read -p “请输入您的百米赛跑秒数:” sec
if [ $sec -le 10 ] && [ $sec -ge 0 ]
then
read -p “请输入您的性别:” sex
if [ s e x = " 男 " ] t h e n e c h o " 您 已 进 入 男 子 组 选 拔 赛 ! " sex = "男" ] then echo "您已进入男子组选拔赛!" sex=""]thenecho"!"sex
else
echo “您已进入女子组选拔赛!”
fi
else
echo “您已被淘汰!”
fi

case语句:用CASE语句解压根据后缀名为.tat.gz 或者 .tar.bz2的压缩包到/opt目录
case $1 in
*.tar.gz)
tar -zxvf *.tar.gz -C /opt
;;
*.tar.bz2)
tar -jxvf *.tar.bz2 -C /opt
;;
*)
echo “您的输入有误!”
esac

判断整数和奇偶数:
#!/bin/bash
read -p “请输入一个数字:” value
#expr $ value+$ value > /dev/null
a=$ [ $ value+$ value]
b= $ [$value%2]
if [ $? = 0 ]
then
echo “您输入的是一个整数”
if [ $b = 0 ]
then
echo “这是一个偶数”
else
echo “这是一个奇数”
fi
else
echo “您输入的不是一个整数”
fi

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值