shell编程3 ---流程控制语句
shell编程流程控制语句
一、if流程控制语句
1、单分支if条件判断语句
if [ 条件判断式 ];then 或者 if[ 条件判断式 ]
程序 then
fi 程序
fi
2、多分支if条件判断语句
if [ 条件判断式 ] 或者 if [ 条件判断式1 ]
then then
条件成功时执行的程序 当条件一成立时执行程序一
else elif [ 条件判断式2 ]
条件不成功时执行的程序 then
fi 当条件二成立时程序二
...省略更多条件
else
所有条件都不成立时执行此程序
fi
二、case语句
1、与if elif else 语句一样都是多分支判断语句,只不过和其不一样之处在于case只能判断一种条件关系而if可以判断多种条件关系。
2、case $变量名 in
“值1”)
如果变量值等于值1需要执行的程序
;;
“值2”)
如果变量值等于值2需要执行的程序
;;
省略其他值
*)
如果变量值什么值都不等于需要执行的程序
;;
esac
三、for循环变量
1、语法1 2、语法2
for 变量 in 值1 值2 ... for ((初始值;循环控制条件;变量变化))
do do
执行变量的程序 执行变量的程序
done done
四、while循环与until循环
1、while语法 2、until语法(与while相反。只要不成立就会一直执行下去)
while [ 条件判断式 ] until [ 条件判断式 ]
do do
执行程序 执行程序
done done
补充:a=1
echo $a | sed 's/^[0-9]*$//g' (如果原数据为数字则替换为空,用于判断原数据是否为数字)
shell编程3 ---流程控制语句的更多相关文章
- 自动化运维:(2)Shell 编程的流程控制
一. if语句 1.单分支if语句——单一条件,只有一个输出 #!/bin/bash # 单if语句的使用场景 if [ "$1" == "nan" ] the ...
- shell脚本之流程控制语句
一.分支控制语句 1.if .. fi条件 if condition; then action fi 2.if .. else .. fi条件 if condition;then action; el ...
- shell编程之流程控制
-d 判断该文件是否存在,并且是否为目录文件 -e 判断该文件是否存在 -f 判断该文件是否存在,并且是否为普通文件 形式 [ -e /home/cao/test.txt ] -r 文件 判断该文 ...
- Linux学习笔记(18) Shell编程之流程控制
1. if语句 (1) 单分支if条件语句 格式为: # 注意条件判断式两端的空格if [ 条件判断式 ];then 程序员 fi 或者 if[ 条件判断式 ] then 程序 fi 例:判断分区使用 ...
- shell入门之流程控制语句 分类: 学习笔记 linux ubuntu 2015-07-10 16:38 89人阅读 评论(0) 收藏
1.case 脚本: #!/bin/bash #a test about case case $1 in "lenve") echo "input lenve" ...
- shell入门之流程控制语句
1.case 脚本: #!/bin/bash #a test about case case $1 in "lenve") echo "input lenve" ...
- shell编程 之 流程控制(条件语句和循环语句)
1 if ...else... 基本格式: if condition then commend else commend fi 当然也可以写到一行,用[ ]表明边界,用:表示分行.比如: if [ $ ...
- Linux Shell 流程控制语句
* 本文主要介绍一些Linux Shell 常用的流程控制语句* 1. if 条件语句:if-then/if-elif-fi/if- else-fi if [条件判断逻辑1];then command ...
- Shell编程笔记
Shell编程笔记与Windows下熟悉的批处理类似,也可以将一些重复性的命令操作写成一个脚本方便处理. 修改别人的脚本,运行后遇到个问题 setenv: command not found 查证 ...
随机推荐
- java Map根据value排序
通用方法 public class MapUtil { public static <K, V extends Comparable<? super V>> Map<K, ...
- Rosbridge 的使用
参考文献: http://rosclub.cn/post-569.html ROS与Android的窃窃私语 1.简介 ROSbridge 顾名思义,是一个ROS当中的中间件,ROS 桥,是用 ...
- textarea字数限制方法一例
<!-- 控制textarea最大输入字数 --><script type="text/javascript">function checkLen(obj) ...
- UINavigationController改变动画效果
@interface UINavigationController (CustomTransition) - (void) pushWithCustomAnimation:(UIViewControl ...
- MongoDB基本命令使用
成功启动MongoDB后,再打开一个命令行窗口输入mongo,就可以进行数据库的一些操作. 输入help可以看到基本操作命令: show dbs:显示数据库列表 show collections:显示 ...
- GO语言使用开源SSH模拟终端
<pre name="code" class="plain">package main import ( "go-ssh/ssh" ...
- HDU 4883 TIANKENG’s restaurant Bestcoder 2-1(模拟)
TIANKENG's restaurant Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/65536 K (Java/O ...
- iOS 日志系统 本地日志打包上传到服务器
日志系统主要包含两个部分 1.本地保存 我们知道NSLog打印的日志一般都是直接输出到控制台,开发人员可以在控制台直接看到实时打印的log,既然可以在控制台输出,那么能否将日志输出到其他地方呢,比如说 ...
- 安卓TabHost+ViewPager+RadioGroup多功能模板整理
如今安卓比較流行的布局就是类似新闻client和手机QQ那种的底端可选择,上面的个别页面能够滑动选择. 在測试过程中发现用安卓自带的TabHost去构建.非常难得到自己定义的效果. 因此採用TabHo ...
- 【Mac + Mysql + Navicat Premium】之Navicat Premium如何连接Mysql数据库
参考文章: <mac用brew安装mysql,设置初始密码> 因为我需要连接数据库工具,需要密码,所以下面介绍如何设置.修改密码实现Navicat Premium连接Mysql数据库 建议 ...