1. if-else

if-else 的判断表达式为中括号[]

注意关键字elif, 不是elseif, 不要搞错了

注意是以关键字fi 结尾, 不是以if 结尾

注意if , [, 条件表达式, ] , ; , then 直接都要有空格

注意代码缩进

1.1 if-fi 结构

shell 中的if 语句有两种写法, 笔者习惯于使用第一种.

含义: 如果表达式为true, 则执行程序

# 第一种写法: 需要写; 要注意缩进

if [ 条件判断表达式 ] ; then

# 程序块儿

fi

# 第二中写法: 不需要写; 要注意缩进

if [ 条件判断表达式 ]

then

#程序块儿

fi

1.2 if-else-fi 结构

由于if 有两种写法, 所以对应的if-else-fi 也有两种写法, 笔者就只列出第一种结构了

含义: 如果条件表达式为true,则执行程序块儿一, 否则执行程序块儿二

if [ 条件判断表达式 ] ; then

# 程序块儿一

else

# 程序块儿二

fi

1.3 if-elif=else-fi

由于if 有两种写法, 所以对应的if-elif-else-fi 也有两种写法, 笔者就只列出第一种结构了

含义: 如果条件表达式一为true,则执行程序块儿一,如果条件表达式二为true,则执行代码块儿二, 否则执行程序块儿三

if [ 条件判断表达式 ] ; then

# 程序块儿一

elif [ 条件判断表达式二 ] ; then

# 程序块儿二

else

# 程序块儿三

fi

1.4 示例程序

#!/bin/bash

read -p "请输入一个数字:" num

if [ $num -eq 20 ] ; then

echo "$num > 20"

elif [ $num -eq 100 ] ; then

echo "$num > 100"

else

echo "$num < 20"

fi

** 输出结果 **

[admin@localhost shell]$ ./if.sh

请输入一个数字:1

1 < 20

[admin@localhost shell]$

2. case 多分支选择

case 是多分枝选择结构, 即一个判断表达式可以有多种匹配选项.

;; 为跳出case 语句,类似于java 中的break;

表示什么都不匹配时执行.

2.1 case 结构

case 字符串表达式 in

"值1")

程序块儿

;; #跳出case结构,相当于break;

"值2")

程序块儿

;;

...

*)

程序块儿 (不满足以上所有条件)

;;

esac

2.2 示例程序

#!/bin/bash

#输出菜单

echo " Menu "

echo " 1. Beijing - Tianjin"

echo " 2. Tianjin - Beijing"

echo " 3. qingdao - Beijing"

echo " 4. Beijing - Qingdao"

#读入输出:

read -p "Please input your chooise: " jour

#判断用户输入

case "$jour" in

"1")

echo " Beijing - Tianjin "

;;

"2")

echo " Tianjin - Beijing "

;;

"3")

echo " Qingdao - Beijing "

;;

"4")

echo " Beijing - Qingdao "

;;

*)

echo " Your chooise Error !"

;;

esac

** 输出结果: **

[admin@localhost shell]$ ./case.sh

Menu

1. Beijing - Tianjin

2. Tianjin - Beijing

3. qingdao - Beijing

4. Beijing - Qingdao

Please input your chooise: 1

Beijing - Tianjin

[admin@localhost shell]$

linux脚本判断流程控制,Shell 脚本-6- 流程控制之判断分支相关推荐

  1. 小豪学Linux——vim文本编辑器与shell脚本

    4.Vim编辑器与Shell命令脚本 4.1.Vim文本编辑器 Vim编辑器的三种模式及切换方法 命令模式:控制光标移动,可对文本进行复制.粘贴.删除和查找等 输入模式:正常文本录入 保存或退出我能当 ...

  2. Linux 之旅 10:Shell 脚本

    Linux 之旅 10:Shell 脚本 (图片来自shell/bash脚本编程) Linux 上的 Shell 脚本可以看做是类似于Windows上的批处理程序(.bat)一样的东西,其本质就是将一 ...

  3. 嵌入式 Linux 入门(五、Shell 脚本编程上:认识 Shell 脚本)

    大家好,是矜辰所致,嵌入式 Linux入 门第五课,本课开始简单学习一下 Shell 脚本编程. 目录 前言 一.Shell 脚本基础说明 1.1 什么是 Shell 脚本 1.2 Shell 脚本的 ...

  4. 标杆徐linux云计算视频,标杆徐2018 Linux自动化运维系列④: Shell脚本自动化编程实战...

    2019年录制SHell新课地址 贴切企业脚本编写思路讲解,带你玩Shell脚本编程实战. 本套课程从实际项目案例出发,近100个Shell实例讲解,由浅入深,循序渐进,带你玩转Shell编程的方方面 ...

  5. LINUX下的流量监控shell脚本

    这篇文章主要介绍了LINUX下的流量监控shell脚本,可以适用任何Linux版本,需要的朋友可以参考下 一.脚本源码 # vi /etc/rc.d/traffic_monitor.sh ------ ...

  6. Linux系统一键安全加固shell脚本编写思路

    本次分享一下个人在对Linux系统一键安全加固shell脚本编写时的一些思路: Linux系统一键安全加固shell脚本编写思路 1.编写须知 1.1 脚本使用说明 1.2 主要功能说明: 1.3隐藏 ...

  7. linux cc脚本,Linux运维知识之Linux简单处理CC攻击shell脚本

    本文主要向大家介绍了Linux运维知识之Linux简单处理CC攻击shell脚本,通过具体的内容向大家展现,希望对大家学习Linux运维知识有所帮助. 第一个脚本是通过查找日志中访问次数过多的ip,并 ...

  8. 服务器状态监控php源码,服务器状态监控_监控Linux服务器网站状态的SHELL脚本

    摘要 腾兴网为您分享:监控Linux服务器网站状态的SHELL脚本,蜗牛集市,同花顺,探客宝,手柄助手等软件知识,以及日期倒计时插件,云南省教育资源公共,rui手机桌面,小屁孩桌面便签,合金装备崛起复 ...

  9. 如何在 Linux 中创建并运行 Shell 脚本(Bash 初学者教程)

    文章目录 1.创建并运行第一个 shell 脚本 2.将 shell 脚本转换为 bash 脚本 3.为什么大多数 shell 脚本都包含 #! /bin/bash 在 shell 脚本的开头? 4. ...

  10. Linux服务器监控cpu数据shell脚本

    Linux服务器监控cpu数据shell脚本 背景: 一种简易的监控进程的CPU.内存.线程数.句柄数的办法,使用shell脚本实现监控,Excel实现数据分析. #!/bin/bash#过滤出需要的 ...

最新文章

  1. JSF实现“Hello World!”
  2. RFS的web自动化验收测试——第12讲 List Variables-List变量及其用法
  3. 史上最全的SpringBatch学习教程
  4. 常用正则表达式 验证电子邮件网址邮政编码等
  5. 广东机电职业技术学校计算机怎么样,广东机电职业技术学院宿舍怎么样 住宿条件好不好...
  6. 页面固定定位超出一屏
  7. 【交通标志识别】基于matlab GUI BP神经网络交通标志识别(带面板)【含Matlab源码 1647期】
  8. 第二课 了解编程环境
  9. android硬盘加密方法,Android硬盘加密工具
  10. 矩阵知识:线性变换、相似矩阵、对角矩阵、逆矩阵
  11. 决策树模型——鸢尾花分类
  12. android非线性渐变色,不同区域显示不同的渐变效果
  13. Roslyn:The invoked member is not supported in a dynamic assembly.
  14. 精品课程申报系统实战开发代码全纪录
  15. Node.js安装与配置(详细步骤)
  16. (5)泪目写下唯一成功之MQ2传感器数据读取
  17. 2023最新SSM计算机毕业设计选题大全(附源码+LW)之java速到校园网上订餐网站5n2pv
  18. Javaweb安全——Java动态代理
  19. Java JDK下载、安装与环境变量配置
  20. 传智.Net精品就业班招生简章

热门文章

  1. MFC 消息响应与消息处理过程
  2. php下载apk文件源码下载,php实现文件下载功能的几个代码分享
  3. python opencv手册_教你用Python实现5毛钱特效(给你的视频来点料)
  4. JuPyter(IPython) Notebooks中使用pip安装Python的模块
  5. 文件查找工具everything的下载使用
  6. java 7 发布,【UC浏览器】Java平台7.0正式版发布啦
  7. std::bind绑定成员函数,为什么第二个参数必须绑定对象地址
  8. java如何转成jar包,修改及反编译可运行Jar包实现过程详解
  9. 分布式消息通信ActiveMQ原理-消费消息策略-笔记
  10. matlab学习笔记之常用命令(一)