[Linux] 结构化命令 if
语法结构如下:
1. if-then语句
# if-then语句 if command #根据conmmand的退出状态码,选择执行语句
then
commands
fi e.g.
#!usr/bin/bash
testuser=rich
if grep $testuser /etc/passwd
then
echo The bash files for user $testuser are:
ls -a /home/$testuser/
fi
2. if-then-else语句
#!usr/bin/bash
if command #根据conmmand的退出状态码,选择执行语句
then
commands
else
commands
fi
3. 嵌套if(elif)
#!usr/bin/bash
if command
then
commands
elif command
then
commands
elif command
then
commands
else
commands
fi
4. test命令(单测试条件)
# 主要有3类测试条件
* 数值比较: -eq; -ge; -gt; -le; -lt; -ne.
* 字符串比较:=; !=; \<; \>; -n; -z.
* 文件比较:-d; -e; -f; -r; -s; -w; -x; -O; -G; -nt; -ot. #usr/bin/bash
if test condition
then
commands
fi #!usr/bin/bash
if [ condition ] # condition前后又空格
then
commands
fi
5. 复合条件测试
# AND测试:必须同时满足两个条件(真)
if [ condition1] && [ condition2 ]
then
commands
fi #OR测试:满足任何一个条件(任一为真)
if [ conditon1 ] || [ condition2 ]
then
commands
fi
6. if-then高级特性
# 双圆括号:用于数学表达式
(( expression ))
# 常用表达式:val++; val--; ++val; --val; !(逻辑求反); ~(位求反); **; <<(位左移); >>(位右移); &位布尔‘和’及‘或’; |; 逻辑‘和’及‘或’:&&; ||;
if (( expression ))
then
commands
(( expression ))
fi # 双方括号:用于字符串表达式(e.g. 正则表达式)
[[ expression ]] if [[ expression ]]
then
commands
fi
7. case命令
# 将指定的变量同不同的模式进行比较 case variable in
pattern1 | pattern2)
commands1;;
pattern3)
commands2;;
*)
commands3;;
esac
[Linux] 结构化命令 if的更多相关文章
- [linux] 结构化命令-for
1 for命令 # for:迭代循环:默认空格为分隔符 for var in list do commands done 1.1 读取列表中的值 #!usr/bin/bash for test in ...
- Linux 结构化命令
if -then 语句 if -then 语句有如下格式 if command then commands f i bash shell 的if语句会先运行if后面的那个命令,如果改命令的退出状态码是 ...
- linux shell脚本使用结构化命令
内容: 一.if-then命令 二.if-then-else命令 三.test命令 四.case命令 1.if-then结构化命令中最基本的类型,其格式如下: if command then comm ...
- 《Linux命令行与shell脚本编程大全》第十二章 使用结构化命令
许多程序要就对shell脚本中的命令施加一些逻辑控制流程. 结构化命令允许你改变程序执行的顺序.不一定是依次进行的 12.1 使用if-then语句 如下格式: if command then ...
- Shell 语法之结构化命令(流程控制)
许多程序在脚本命令之间需要某种逻辑流控制,允许脚本根据变量值的条件或者其他命令的结果路过一些命令或者循环执行这些命令.这些命令通常被称为结构化命令.和其他高级程序设计语言一样,shell提供了用来控制 ...
- bash shell笔记2 结构化命令
二.使用结构化命令 知识内容: # 改变命令流 # 使用if-then逻辑 # 嵌套if-then # 测试条件 # 高级if-then功能 许多程序在脚本命令之间需要某些逻辑控制流,有些命令允许脚本 ...
- shell的结构化命令
shell在逻辑流程控制这里会根据设置的变量值的条件或其他命令的结果跳过一些命令或者循环执行的这些命令.这些命令通常称为结构化命令 1.if-then语句介绍 基本格式 if command then ...
- bash shell笔记3 结构化命令二
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://twentyfour.blog.51cto.com/945260/513601 三 ...
- 学习笔记:CentOS7学习之二十二: 结构化命令case和for、while循环
目录 学习笔记:CentOS7学习之二十二: 结构化命令case和for.while循环 22.1 流程控制语句:case 22.2 循环语句 22.1.2 for-do-done 22.3 whil ...
随机推荐
- Java开发环境配置
JDK下载地址: http://www.oracle.com/technetwork/java/javase/downloads/index.html 安装:双击exe文件一直下一步就Ok了. 环境变 ...
- Linux下apache+phppgadmin安装配置
1.安装pg 安装PostgreSQL数据库 修改pg_hba.conf配置文件,使得数据库可以通过外部访问. 具体可以配置为: # TYPE DATABASE USER ADDRESS METHOD ...
- discuz中方法
discuz中检验是否是邮箱 function isemail($email) { && strlen($email) <= && preg_match(&quo ...
- information_schema系列十二
1: INNODB_SYS_VIRTUAL 表存储的是INNODB表的虚拟列的信息,当然这个还是比较简单的,我们直接通过SHOW CREATE TABLE 或者DESC TABLE就能看得到. Col ...
- 【工作笔记】BAT批处理学习笔记与示例
BAT批处理学习笔记 一.批注里定义:批处理文件是将一系列命令按一定的顺序集合为一个可执行的文本文件,其扩展名为BAT或者CMD,这些命令统称批处理命令. 二.常见的批处理指令: 命令清单: 1.RE ...
- easyui combobox点击输入框弹出下拉框
由于easyui combobox需要点击下拉箭头才能下拉,不能像select标签那样点击输入框就下拉,所以觉得不太方便,查看了一下,combobox弹出框是一个div,原本想在他的输入框的点击事件中 ...
- 如何在Flex标签中写事件函数
在事件变量值中直接写函数语句,如果是多条语句,则用";"号隔开. 示例如下: <mx:Box id="label" backgroundColor=&qu ...
- java.lang.ClassCastException: android.view.AbsSavedState$1 cannot be cast to android.widget.ProgressBar$SavedState
java.lang.ClassCastException: android.view.AbsSavedState$1 cannot be cast to android.widget.Progress ...
- hihoCoder #1199 : Tower Defense Game ——(树型dp)
题目链接:https://hihocoder.com/problemset/problem/1199. 题意:一棵以1为根的树,每个点有一个p值和q值,到这个点需要当前分数大于等于p,然后消耗掉(p- ...
- iOS如何监听弱网?
场景: iOS中我们可能经常用到监听网络,不过大部分是监听网络的类型,即2G/3G/4G WIFI,是否连接网络,然而测试人员对APP进行测试时候经常会有一个弱网测试,即在弱网环境下对APP进行测试, ...