shell条件判断

例2、比较传入的两个参数的大小
1)编辑脚本:vim if02.sh
#!/bin/bash

if [ $# -lt 2 -o $# -gt 2 ]; then
echo “Two numbers are required.”
exit 1
fi

if [ $1 -gt $2 ]; then
echo “$1 > $2”
else
echo “$1 <= $2”
fi
在这里插入图片描述
2)设置权限:chmod u+x if02.sh
在这里插入图片描述

3)执行脚本
在这里插入图片描述

例3、嵌套实现多分支结构
1)编辑脚本:vim if03.sh
#!/bin/bash

if [ $# -gt 2 -o $# -lt 2 ]; then
echo “Two numbers are required.”
exit 1
fi

if [ $1 -gt $2 ]; then
echo “$1 > $2”
else
if [ $1 -eq $2 ]; then
echo “$1 = $2”
else
echo “$1 < $2”
fi
fi
在这里插入图片描述
2)设置权限:chmod u+x if03.sh
在这里插入图片描述
3)执行脚本:./if03.sh 100 200
在这里插入图片描述
思考题:变成实现如下功能。
如果/tmp/part1/bash下面存在if3.sh就打印if3.sh存在;如果不存在,就“创建”(注意目录是否存在以及不存在时的创建问题
)。

1)编辑脚本:vim if04.sh
#!/bin/bash

path="/tmp/part1/bash"

if [ ! -e $path ]; then
mkdir -p p a t h e c h o &quot; path echo &quot; pathecho"path is created."
else
echo “$path has exists.”
fi

filename="${path}/if3.sh"
if [ -e f i l e n a m e ] ; t h e n e c h o &quot; filename ]; then echo &quot; filename];thenecho"filename exists."
else

touch f i l e n a m e e c h o &quot; filename echo &quot; filenameecho"filename is touched."
fi
在这里插入图片描述
2)设置权限:chmod u+x if04.sh
在这里插入图片描述
3)执行脚本:./if04.sh
在这里插入图片描述

3)case多分支结构

判断用户输入的是哪个数,1-7显示输入的数字,大于7或小于0显示please input 1-7,输出英文的星期几。

方法一:
1)编辑脚本:vim case01.sh
#!/bin/bash

read -p "input an integer [1-7]: " n
if [ $n -lt 1 -o $n -gt 7 ]; then
echo “You must input an integer between 1 and 7.”
exit 1
else
case $n in 1)
echo “Monday”
;;
2)
echo “Tuesday”
;;
3)
echo “Wednesday”
;;
4)
echo “Thursday”
;;
5)
echo “Friday”
;;
6)
echo “Saturday”
;;
7)
echo “Sunday”
;;
esac
fi
在这里插入图片描述
在这里插入图片描述
2)设置权限:chmod u+x case01.sh
在这里插入图片描述

3)执行脚本:./case01.sh
在这里插入图片描述
方法二:
1)编辑脚本:vim case02.sh
#!/bin/bash

read -p "input an integer [1-7]: " n
case $n in
1)
echo “Monday”
;;
2)
echo “Tuesday”
;;
3)
echo “Wednesday”
;;
4)
echo “Thursday”
;;
5)
echo “Friday”
;;
[6-7])
echo “Weekend”
;;
*)
echo “You must input an integer between 1 and 7.”
esac
在这里插入图片描述

2)设置权限:chmod u+x case02.sh
在这里插入图片描述

3)执行脚本:./case02.sh
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值