1 if单分支
语法构成:
- if 条件测试;then
- 命令序列
- fi
[root@localhost opt]# vim test02.sh
#!/bin/bash
if [ $UID -eq 0 ];then
echo "我是管理员"
echo ok
fi
[root@localhost opt]# bash test02.sh
我是管理员
ok
2 if双分支
语法构成:
- if 条件测试;then
- 命令序列1
- else
- 命令序列2
- fi
[root@localhost opt]# vim test02.sh
#!/bin/bash
if [ $UID -eq 0 ];then
echo "我是管理员"
echo ok
else
echo "不是管理员"
echo no
fi
[root@localhost opt]# su - zhangsan #换用户进行测试
[zhangsan@localhost ~]$ cd /opt/
[zhangsan@localhost opt]$ bash test02.sh
不是管理员
no
[zhangsan@localhost opt]$ exit
注销
[root@localhost opt]#
3 if多分支
语法构成:
- if 条件测试1 ;then
- 命令序列1
- elif 条件测试2 ;then
- 命令序列2
- else
- 命令序列n
- fi
编写脚本,输入参数判断成绩;
成绩大于等于90-小于100为优秀,
成绩大于等于80-小于89为良好;
成绩大于等于60-小于79为合格;
成绩小于60为不合格。
如果输入其他数字则提示输入不规范,请输入0-100之间的数
[root@localhost opt]# vim count.sh
#!/bin/bash
read -p "请输入你的月考成绩:" a
if [ $a -gt 100 ] || [ $a -lt 0 ];then
echo 请输入0-100的数字!!!
elif [ $a -ge 90 ];then
echo 优秀
elif [ $a -ge 80 ];then
echo 良好
elif [ $a -ge 60 ];then
echo 及格
else
echo 不及格
fi
4 case 单条判断
- case $变量名称 in
- 模式1)
- 命令序列1
- ;;
- 模式2)
- 命令序列2
- ;;
- 模式n)
- 命令序列n
- ;;
- *)
- 如果上面都不满足,则运行这条命令
- esac
#创建脚本,启动时输入参数与文件名可以文件
[root@localhost opt]# vim case01.sh
#!/bin/bash
case $1 in
t) #如果$1是t就执行touch任务
touch $2;; #有分号结尾
m) #如果$1是m就执行mkdir任务
mkdir $2;;
r) #如果$1是r就执行rm -rf任务
rm -rf $2;;
*)
echo "请输入t、m、r和参数"
esac
[root@localhost opt]# bash case01.sh #要输入指定参数与文件名
请输入t、m、r参数与文件名
[root@localhost opt]# bash case01.sh t case.txt
[root@localhost opt]# ls
case.txt
5 case 多条判断
- case $变量名称 in
- 模式1|模式2)
- 命令序列1
- ;;
- 模式3|模式4)
- 命令序列2
- ;;
- 模式n|模式m)
- 命令序列n
- ;;
- *)
- esac
[root@localhost opt]# vim case01.sh
#!/bin/bash
case $1 in
t|tc) #如果$1是t或者tc就执行touch任务
touch $2;;
m|mk) #如果$1是m或者mk就执行mkdir任务
mkdir $2;;
r|rm) #如果$1是r或者rm就执行rm -rf任务
rm -rf $2;;
*)
echo "请输入t、m、r和参数"
esac
[root@localhost opt]# bash case01.sh
请输入t、m、r参数与文件名
[root@localhost opt]# bash case01.sh t case.txt
[root@localhost opt]# ls
case.txt
标签:case,opt,Shell,echo,语法,bash,root,localhost
From: https://blog.51cto.com/u_16315529/8295738