SHELL编程之条件判断
一、if 语句结构
(1)单分支语句结构
if 条件测试操作
then 命令序列
fi
#!/bin/bash
MOUNT_DIR="/media/cdrom/"
#-d $MOUNT_DIR的意思是测试是否存在这个目录,显然不存在,为假;!为取反,所以条件测试为真,执行then后面的语句
if [ ! -d $MOUNT_DIR ]
then
mkdir -p $MOUNT_DIR
fi
(2)双分支语句结构
if 条件测试操作
then 命令序列1
else 命令序列2
fi
#!/bin/bash
ping -c 3 -i 0.2 -W 3 $1 &> /dev/null # -c指定发送几次包,-i指定两次ping包间隔时间(秒),-W指定如果ping不通,多久(秒)放弃ping测试,$1位置变量,接收用户输入的第一个值
if [ $? -eq 0 ] # $? 上一条条件测试结果
then # 这里的then也可以和if写为一行,如 if [ $? -eq 0 ] ; then
echo "Host $1 is up."
else
echo "Host $1 is down."
fi
结果:
[root@www ~]# . ping.sh 127.0.0.1
Host 192.168.1.1 is up.
(3)多分支语句结构
if 条件测试操作1
then 命令序列1
elif 条件测试操作2
then 命令序列2
else
命令序列3
fi
#!/bin/bash
read -p "请输入您的分数(0-100):" GRADE # 接收来自用户输入的分数,赋值给GRADE变量
if [ $GRADE -ge 85 ] && [ $GRADE -le 100 ];then
echo "$GRADE分!优秀"
elif [ $GRADE -ge 70 ] && [ $GRADE -lt 85 ];then
echo "$GRADE分!良好"
else
echo "$GRADE分!还需继续努力!"
fi
SHELL编程之条件判断的更多相关文章
- shell编程2 ---条件判断语句
shell编程2 一.条件判断语句 1.按照文件类型进行判断 eg:test -e /etc/passwd 或者 [ -e /etc/passwd ] &&echo yes || ...
- 02 shell编程之条件语句
Shell编程之条件语句 学习目标: 掌握shell脚本条件测试 掌握if语句编程 目录结构: 条件测试 条件测试概述 l 对特定的条件进行判断,以决定如何执行操作 l 测试的方法 方法1:tes ...
- if语句 条件测试 shell编程之条件语句
shell 编程之条件语句一.条件测试 ① test命令 测试 ② 文件测试 ③ 整数值比较 ④ 字符串比较 ⑤ 逻辑测试二.if语句的结构 单分支结构 双分支结构 多分支结构三.ca ...
- Shell编程之条件语句:if、case语句
Shell编程之条件语句:if.case语句 一.条件测试 1)test命令测试 2)整数值比较 ...
- Shell脚本IF条件判断和判断条件总结
转自:http://m.jb51.net/article/56553.htm 这篇文章主要介绍了Shell脚本IF条件判断和判断条件总结,本文先是给出了IF条件判断的语法,然后给出了常用的判断条件总结 ...
- Shell学习(六)——条件判断总结
Shell学习(六)--条件判断总结 [1]https://www.cnblogs.com/zhw-626/p/8528001.html [2]https://www.cnblogs.com/yizh ...
- shell脚本编程之条件判断
条件测试类型: 整数测试 字符测试 文件测试 条件测试的表达式的三种方法: 1.[ expression ] 命令测试 2.[[ expression ]] 关键字测试 3.test expressi ...
- shell中的条件判断以及与python中的对比
shell中比如比较字符串.判断文件是否存在及是否可读等,通常用"[]"来表示条件测试. 注意:这里的空格很重要.要确保方括号的空格. if ....; then ...
- linux shell中的条件判断语句
http://bbs.chinaunix.net/thread-396805-1-1.html shell 判断语句 流程控制 "if" 表达式 如果条件为真则执行then后面的部 ...
随机推荐
- Python not readable
try: with open('data.txt','w') as f: for each_line in f: print(each_line)except OSError as reason: p ...
- leetcode762
class Solution { public: bool IsPrime(int n) { ) { return false; } || n == ) { return true; } ; i &l ...
- xUtils怎么post请求上传json数据
InfoSmallCodeBinding smallCode = new InfoSmallCodeBinding(); smallCode.setSmallCode("测试"); ...
- .NET 调用c++库注意事项
很久没有更新了,主要还是因为自己懒吧,希望从今天开始坚持至少一周写一篇文章. 调用函数库是正常的,调用完成后,在使用EF进行数据更新时,将发生如下异常信息,而且几乎必现. 行库遇到了错误.此错误的地址 ...
- Eclipse使用hibernate插件反向生成实体类和映射文件
一般dao层的开发是这样的,先进行数据库的设计,什么E-R图之类的那些,然后选择一款数据库产品,建好表.最后反向生成Java实体和映射文件,这样可以保证一致性和便捷性. 如果用myeclipse,逆向 ...
- Linux主机名的设置
Linux主机名的设置 Linux主机名的设置步骤如下: 1.在/etc/sysconfig/network文件中修改HOSTNAME的值为要设置的主机名. HOSTNAME=myhost 2.在/e ...
- OSCache简介
一.简介 Cache是一种用于提高系统响应速度.改善系统运行性能的技术.尤其是在Web应用中,通过缓存页面的输出结果,可以很显著的改善系统运行性能. OSCache标记库由OpenSymphony设计 ...
- ubuntu18.04 按住只能删除一个字符bug
只需要打开重复按键就可以了
- opennebule 创建cdrom数据发送
{","csrftoken":"b9b5026f1a92180b789971ed8e21d28b"}
- JavaScript必备:Google发布的JS代码规范(转)
[翻译]关于Google发布的JS代码规范,你需要了解什么? 翻译 | WhiteYin 译文 | https://github.com/WhiteYin/translation/issues/10 ...