语法结构如下:

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的更多相关文章

  1. [linux] 结构化命令-for

    1 for命令 # for:迭代循环:默认空格为分隔符 for var in list do commands done 1.1 读取列表中的值 #!usr/bin/bash for test in ...

  2. Linux 结构化命令

    if -then 语句 if -then 语句有如下格式 if command then commands f i bash shell 的if语句会先运行if后面的那个命令,如果改命令的退出状态码是 ...

  3. linux shell脚本使用结构化命令

    内容: 一.if-then命令 二.if-then-else命令 三.test命令 四.case命令 1.if-then结构化命令中最基本的类型,其格式如下: if command then comm ...

  4. 《Linux命令行与shell脚本编程大全》第十二章 使用结构化命令

    许多程序要就对shell脚本中的命令施加一些逻辑控制流程. 结构化命令允许你改变程序执行的顺序.不一定是依次进行的 12.1 使用if-then语句 如下格式: if command then     ...

  5. Shell 语法之结构化命令(流程控制)

    许多程序在脚本命令之间需要某种逻辑流控制,允许脚本根据变量值的条件或者其他命令的结果路过一些命令或者循环执行这些命令.这些命令通常被称为结构化命令.和其他高级程序设计语言一样,shell提供了用来控制 ...

  6. bash&nbsp;shell笔记2&nbsp;结构化命令

    二.使用结构化命令 知识内容: # 改变命令流 # 使用if-then逻辑 # 嵌套if-then # 测试条件 # 高级if-then功能 许多程序在脚本命令之间需要某些逻辑控制流,有些命令允许脚本 ...

  7. shell的结构化命令

    shell在逻辑流程控制这里会根据设置的变量值的条件或其他命令的结果跳过一些命令或者循环执行的这些命令.这些命令通常称为结构化命令 1.if-then语句介绍 基本格式 if command then ...

  8. bash&nbsp;shell笔记3&nbsp;结构化命令二

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://twentyfour.blog.51cto.com/945260/513601 三 ...

  9. 学习笔记:CentOS7学习之二十二: 结构化命令case和for、while循环

    目录 学习笔记:CentOS7学习之二十二: 结构化命令case和for.while循环 22.1 流程控制语句:case 22.2 循环语句 22.1.2 for-do-done 22.3 whil ...

随机推荐

  1. 修改APK包并push到system/app路径下安装

    在工作中,经常遇到需要修改apk包里的资源文件,达到检验不同配置下程序运行情况的目的. 过程如下: 1.首先连接手机,进入命令行,输入:adb root,使得adb获取root权限. 2.输入:adb ...

  2. 4、C#进阶:MD5加密、进程、线程、GDI+、XML、委托

    MD5加密 将字符串进行加密,无法解密.网上的解密方式也都是在库里找,找不到也没有. 1 protected void Page_Load(object sender, EventArgs e) 2 ...

  3. CoIDE在STM32系列单片机中的使用实践

    这一段时间找到CoIDE,发现其真的挺好用,编辑界面比Keil功能强大.因此把实际操作过程记录下来. CoIDE  是CooCox专业打造的一款免费的ARMCortexMCU嵌入式集成开发环境(Int ...

  4. vim显示行号、语法高亮、自动缩进的设置

    转载自:http://blog.csdn.net/chuanj1985/article/details/6873830   在UBUNTU中vim的配置文件存放在/etc/vim目录中,配置文件名为v ...

  5. 关于已配置log4j,运行tomcat时显示警告的分析

    有时候,我们在JavaEE项目中配置了log4j及其参数信息,但是启动tomcat时,仍会显示如下信息:

  6. Android之动画的学习(转载)

    Android动画学习笔记-Android Animation   3.0以前,android支持两种动画模式,tween animation,frame animation,在android3.0中 ...

  7. java能不能自己写一个类叫java.lang.System/String正确答案

    原文: http://www.wfuyu.com/php/22254.html 未做测试 ! 最近学习了下java类加载相干的知识.然后看到网上有1道面试题是 能不能自己写个类叫java.lang.S ...

  8. Java入门记(三):初始化顺序

    初始化顺序的规则 1.在一个类的对象实例化时,成员变量首先初始化,然后才调用构造器,无论书写顺序.如果调用构造器前,没有显式初始化,那么会赋默认值. 这样做法的原因可以理解为:构造器执行时可能会用到一 ...

  9. MyBatis怎么防止SQL注入

    SQL注入是一种代码注入技术,用于攻击数据驱动的应用,恶意的SQL语句被插入到执行的实体字段中(例如,为了转储数据库内容给攻击者).[摘自] SQL injection - Wikipedia SQL ...

  10. wpf 遮住输入法 问题

    可以参考这个代码   http://www.cnblogs.com/Leaco/p/3164394.html 当你发现没用的时候 可以改这句代码  var hwnd = ((HwndSource)Pr ...