Shell 编程 条件语句
2019-10-08 08:46:51来源:博客园 阅读 ()
Shell 编程 条件语句
本篇主要写一些shell
脚本条件语句的使用。
条件测试
test 条件表达式
[ 条件表达式 ]
文件测试
-d
:测试是否为目录(Directory)。
-e
:测试文件或目录是否存在(Exist)。
-f
:测试是否为文件(File)。
-r
:测试当前用户是否有权限读取(Read)。
-w
:测试当前用户是否有权限写入(Write)。
-x
:测试是否设置有可执行权限(Excute)。
-nt
:判断文件A
是否比文件B
新。
-ot
:判断文件A
是否比文件B
旧。
-ef
:判断两个文件是否为同一个文件,用来判断两个文件是否指向同一个inode
。
[root@localhost ~]# test -d /etc/ && echo $?
0
[root@localhost ~]# ls test.txt
ls: cannot access test.txt: No such file or directory
[root@localhost ~]# [ ! -e test.txt ] && touch test.txt
[root@localhost ~]# ls test.txt
test.txt
整数值比较
- [ 整数1 操作符 整数2 ]
-eq
:等于(Equal)
-ne
:不等于(Not Equal)
-gt
:大于(Greater Than)
-lt
:小于(Lesser Than)
-le
:小于等于(Lesser or Equal)
-ge
:大于等于(Greater or Equal)
[root@localhost ~]# history | wc -l
294
[root@localhost ~]# [ `history | wc -l` -gt 100 ] && echo "Too many" || echo "Too few"
Too many
[root@localhost ~]# history -c
[root@localhost ~]# [ `history | wc -l` -gt 100 ] && echo "Too many" || echo "Too few"
Too few
字符串比较
=
:第一个字符串与第二个字符串相同
!=
:第一个字符串与第二个字符串不相同
-z
:检查字符串是否为空,对于未定义或赋予空值的变量视为空串
逻辑测试
&&
:逻辑与,表示而且
,使用test
命令测试时,可改为-a
。
||
:逻辑或,表示或者
使用test
命令测试时,可改为-o
。
!
:逻辑否,表示不
if 单分支
[root@localhost ~]# vim score.sh
#!/bin/bash
read -p "请输入成绩:" score
if [ $score -ge 60 ]
then
echo "成绩合格"
fi
[root@localhost ~]# chmod +x score.sh
[root@localhost ~]# ./score.sh
请输入成绩:80
成绩合格
[root@localhost ~]# ./score.sh
请输入成绩:40
if 双分支
[root@localhost ~]# vim score.sh
#!/bin/bash
read -p "请输入成绩:" score
if [ $score -ge 60 ]
then
echo "成绩合格"
else
echo "成绩不合格"
fi
[root@localhost ~]# ./score.sh
请输入成绩:80
成绩合格
[root@localhost ~]# ./score.sh
请输入成绩:40
成绩不合格
if 多分支
[root@localhost ~]# vim score.sh
#!/bin/bash
read -p "请输入成绩:" score
if [ $score -ge 90 ]
then
echo "成绩优秀"
elif [ $score -ge 60 ]
then
echo "成绩合格"
else
echo "成绩不合格"
fi
[root@localhost ~]# ./score.sh
请输入成绩:90
成绩优秀
[root@localhost ~]# ./score.sh
请输入成绩:80
成绩合格
[root@localhost ~]# ./score.sh
请输入成绩:40
成绩不合格
[root@localhost ~]# vim run.sh
if 嵌套
#!/bin/bash
read -p "请输入时间:" time
if [ $time -le 10 ]
then
echo "您已进入决赛"
read -p "请输入性别(man/woman)" sex
if [ $sex = "man" ]
then
echo "您被分到男子组"
else
echo "您被分到女子组"
fi
else
echo "抱歉,您被淘汰"
fi
[root@localhost ~]# chmod +x run.sh
[root@localhost ~]# ./run.sh
请输入时间:9
您已进入决赛
请输入性别(man/woman)man
您被分到男子组
[root@localhost ~]# ./run.sh
请输入时间:9
您已进入决赛
请输入性别(man/woman)woman
您被分到女子组
[root@localhost ~]# ./run.sh
请输入时间:11
抱歉,您被淘汰
原文链接:https://www.cnblogs.com/llife/p/11633407.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:Shell 编程 基础
下一篇:Shell 编程 循环语句
- Linux指令和shell脚本 2020-06-11
- Xshell如何配置并远程连接Linux服务器详解 2020-05-31
- Bash Shell基础笔记 2020-05-26
- Shell脚本关于循环的一些总结 2020-05-18
- Xshell 与 Xftp 的安装与使用 2020-05-17
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash