1、在Shell中用if then elif else fi 这几条命令实现分支控制。这种流程控制语句本质上也是由若干条Shell命令组成的
If..then 单层、简单条件判断式
If[条件判断式]; then
当条件判断式成立时,可以进行的命令工作内容;
fi
eg: 
#!/bin/bash
#
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
read -p "Please input (Y/N): " yn
if [ "$yn" == "Y" ] || [ "$yn" == "y" ]; then
echo "OK, continue"
exit 0
fi
if [ "$yn" == "N" ] || [ "$yn" == "n" ]; then
echo "Oh, interrupt!"
exit 0
fi
echo "I don't know what your choice is" && exit 0
2、复杂条件判断式
#一个条件判断式
if [ 件判断式 ];then
当条件判断式不成立时,可以进行的命令工作内容;
else
当条件判断式不成立时,可以进行的命令工作内容;
fi
#多个条件判断(if…elif…else)分多钟不同情况执行
If [ 条件判断式一 ];then
当条件判断式-成立时,可以进行的命令工作内容;、
eif [ 条件判断式二 ]; then
当条件判断式二成立时,可以进行的命令工作内容;
else
当条件判断式一与二均不成立时,可以进行的命令工作内容;
fi
eg:
#!/bin/bash
#
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
read -p "Please input (Y/N): " yn
if [ "$yn" == "Y" ] || [ "$yn" == "y" ]; then
echo "OK, continue"
elif [ "$yn" == "N" ] || [ "$yn" == "n" ]; then
echo "Oh, interrupt!"
else
echo "I don't know what your choice is"
fi
3、case…esac判断
case $变量名称 in
“第一个变量内容”)
程序段
;;
“第二个变量内容”)
程序段
;;
*)
不包含第一个变量内容与第二个变量内容的其它程序执行段
exit 1
;;
esac
eg:
#!/bin/bash
#
case $1 in
"Hello")
echo "Hello, how are you ?"
;;
"")
echo "You MUST input parameters, ex> {$0 someword}"
;;
*)
echo "Usage $0 {hello}"
;;
esac
4、while do done,until do done (不定循环)
while [ condition ]
do
程序段落
done
这种方式说的是当condition条件成立时,就进行循环,直到condition的条件不成立才停止
until [ condition ]
do
程序段落
done
此种方式恰好与while相反,他说的是当condition条件成立时,就终止循环,否则就持续进行循环的程序段。
#!/bin/bash
#
echo "Enter password:"
read TRY
while [ "$TRY" != "secret" ]; do
echo "Sorry, try again"
read TRY
done
until [ "$yn" == "yes" -o "$yn" == "YES" ]
do
read -p "Please input yes/YES to stop this program: " $yn
done
echo "OK! you input the correct answer."
5、for…do…done的数值处理 它类似于某些编程语言的foreach循环
eg:
#!/bin/bash
#
for FRUIT in apple banana pear; do
echo "I like $FRUIT"
done

转载于:https://blog.51cto.com/rain1118/778114

编写脚本常用的几种语句相关推荐

  1. java json的使用方法_JAVA编写JSON常用的三种方法

    JAVA编写JSON常用的三种方法 Szx • 2019 年 11 月 15 日 1.jsonlib需要引入的包也多,代码也相对多一些. 2.Gson:谷歌的 3.FastJson:阿里巴巴的,这几个 ...

  2. shell脚本常用的4种流程控制语句

    if条件测试语句 if条件测试语句可以让脚本根据实际情况自动执行相应的命令.从技术角度来讲,if语句分为单分支结构.双分支结构.多分支结构:其复杂度随着灵活度一起逐级上升. 1.if条件语句的单分支结 ...

  3. TamperMonkey编写脚本常用api中文版(附文档原地址和各种api案例)

    TamperMonkey脚本api文档 用户脚本头部 @name @namespace @version @author @description @homepage, @homepageURL, @ ...

  4. loadrunner编写脚本常用策略,用以记录,看的懂的拿走,看不懂说明与你有缘无份...

    1)-------------------编码转换--------------- lr_convert_string_encoding( lr_eval_string("{payMainId ...

  5. linux——编写Shell脚本常用命令:diff、patch、cut、sort、uniq、、||、test、tr

    diff 和 patch 命令帮助:diff –help | patch –help diff命令在最简单的情况下,比较给定的两个文件的不同.如果使用"-"代替"文件&q ...

  6. linux下Bash编程until语句及格式化硬盘分区等编写脚本(十)

    linux下Bash编程until语句及格式化硬盘分区等编写脚本(十) 1.循环语句结构总结 1.1.while语句当条件满足时,进入循环语句 while 条件; do 语句 done 1.2.unt ...

  7. mysql中常用的三种插入数据的语句

    mysql中常用的三种插入数据的语句: insert into表示插入数据,数据库会检查主键(PrimaryKey),如果出现重复会报错: replace into表示插入替换数据,需求表中有Prim ...

  8. 使用java代码编写脚本,把oracle建表语句变成hive建表语句

    使用java代码编写脚本,把oracle建表语句变成hive建表语句 java代码 测试oracle.sql 生成hive创表语句 java代码 import java.io.File; import ...

  9. Linux编写脚本查看mod,Linux shell脚本编写基础

    在进行linux测试时编写脚本是必不可少的,Shell脚本的名称可以随便定义,也不要什么后缀名,例如可以写abc,smartzip这类名称,运行时只要键入 ./smartzip就能运行脚本了.. 每行 ...

  10. Shell编程规范与变量(shell编程规范,执行脚本文件的四种方式,管道符号与重定向,shell变量的作用于类型)

    文章目录 Shell脚本概述 Shell脚本的概念 Shell的作用 Shell编程规范 重定向与管道 Shell脚本变量 自定义变量 特殊变量 Shell脚本概述 Shell Script ,She ...

最新文章

  1. 用C语言实现扫雷小游戏(附上思路+项目展示+源代码)
  2. Android Binder设计与实现 – 设计篇
  3. A*算法解决八数码问题 Java语言实现
  4. Docker 私有仓库的搭建
  5. Codeforces Round #112 (Div. 2)---A. Supercentral Point
  6. mysql 5.7 super_MySQL 5.7 下的对super用户只读
  7. python下标从0开始_从零学Python之入门(三)序列
  8. esp启动是什么感觉_第九章 ESP32上电后的启动过程
  9. L2TP连接result_code_avp: avp is incorrect size. 错误
  10. awd赛题的flag是什么意思_记一次AWD自动获取flag并提交
  11. Pannellum:实例之自定义热点信息
  12. bgp 建立邻居发送的报文_HCIE笔记-------BGP邻居状态详解
  13. 第四卷 风起海外 第三百九十四章 修士、妖兽、小岛
  14. 虚拟机 VMware 16安装教程
  15. 手机无线电驾驶与马歇尔·麦克卢汉的哲学
  16. 教你一招,如何用技术实现时序羽毛球动作预测
  17. Buffon投针实验:究竟为什么是pi?
  18. java身份证工具类(校验身份证是否合法、通过身份证获取年龄、性别、生日,将15位身份证转为18位等)
  19. .class .class 和 .class.class 和 .class>.class 比较
  20. 关于给手机拍照出现斜条纹的问题

热门文章

  1. Python绘制数码管(系统时间)
  2. Fiddler笔记(3)接口测试
  3. a标签href不跳转 禁止跳转
  4. poj3667 hotel
  5. C++ 入门2 ---- 类型转换
  6. hdu 1251 字典树的简单应用
  7. ZED2+ORB_SLAM3
  8. Codeforces Round #503 (by SIS, Div. 2)
  9. asp.net Form 认证【转】
  10. [边学边用]jquery插件制作