条件语句

if

# if
if condition
then
command
fi # if else
if condition
then
command
else
command
fi # if elif
if condition
then
command
elif condition
then
command
else
command
fi

需要注意的是

  • elif下面还有个then

for

# 第一种表达方式

for v in item1 item2 item3 itemN
do
command
done # 第二种表达方式 for (( i=0;i<=10;i++ ))
do
command
done
  • 和前面if里面的then fi不相同的是,这里使用do done
  • in 列表中可以是字符串,也可以是数字

while

while condition
do
command
done

例如

#!/bin/sh
int=1
while(( $int<=5 ))
do
echo $int
let "int++"
done

需要注意的是,这里面的let命令,它用于执行一个或者多个表达式,变量中不必使用 $ 来表示变量,如果不想这么用,按照下面这么用也是可以的:

int=1
while(( $int<=10 ))
do
int=$((int+1))
echo $int
((int++))
echo $int
printf "\n"
done

until

顾名思义,until循环是指执行一系列命令直到条件为真则停止

until condition
do
command
done

需要注意的是,判断条件发生在末尾,也就是说至少会执行一次command

case

多选择语句,类似其它语言中的switch

case val in
mode1)
command
;;
mode2)
command
;;
*)
command
;;
esac

需要注意的是

  • 每个模式后面必需以 ) 来结束
  • 在每个选择语句后面都需要加上;
  • mode 为自己填写的模式
  • 最后的选择语句和default类似,为 *)
  • 结束标记 esac 为case的反转

例子:

read int
case $int in
1)
echo '选择1'
;;
3|4|5)
echo '选择3,4,5'
;;
*)
echo '选择了其它'
;;
esac

break 和 continue

和其它语言中的作用是一样的

无限循环

# 第一种表达方式

while :
do
command
done # 第二种表达方式 while true
do
command
done # 第三种表达方式 for (( ; ; ))
do
command
done

最后一种方法不知道为什么显示不了高亮,但是执行起来是正确的

Shell 学习笔记之条件语句的更多相关文章

  1. shell 学习笔记8-case条件语句

    一.case语句简介 1.什么是case条件语句 case条件语句就相当于多分支的if/elif/else条件语句,但是比这样的语句更规范更好看,经常被用在失效系统服务启动脚本等企业应用中 程序将ca ...

  2. SHELL学习笔记----IF条件判断,判断条件

    SHELL学习笔记----IF条件判断,判断条件 前言: 无论什么编程语言都离不开条件判断.SHELL也不例外.  if list then           do something here   ...

  3. Python 学习笔记7 条件语句 If

    Python中条件语句if 是通过一条或者多条的执行语句的结果,来判断是否执行其包含的代码块. 通常会配合else.elif一起使用,达到根据条件进行多个代码块的执行操作. 简单的if score = ...

  4. JAVAscript学习笔记 js条件语句 第三节 (原创) 参考js使用表 (2017-09-14 15:55)

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  5. shell学习笔记之条件(二)

    test或者[ #检查文件是否存在 if test -f read.c then ... fi if [ -f read.c ] then ... fi #如果then和if在同一行上,就应该用;把i ...

  6. shell学习笔记

    shell学习笔记 .查看/etc/shells,看看有几个可用的Shell . 曾经用过的命令存在.bash_history中,但是~/.bash_history记录的是前一次登录前记录的所有指令, ...

  7. [转帖][Bash Shell] Shell学习笔记

    [Bash Shell] Shell学习笔记 http://www.cnblogs.com/maybe2030/p/5022595.html  阅读目录 编译型语言 解释型语言 5.1 作为可执行程序 ...

  8. shell学习笔记汇总

    1.shell脚本中函数使用 函数定义在前,调用在后,顺序反了就没有效果了.函数调用为:函数名 参数列表 函数内部通过以下变量访问函数的参数:shell脚本函数中: $0: 这个脚本的名字 $n: 这 ...

  9. SHELL学习笔记三

    SHELL学习笔记一 SHELL学习笔记二 SHELL学习笔记三 for 命令 读取列表中的复杂值 从变量读取列表 从命令读取值 更改字段分隔符 用通配符读取目录 which 使用多个测试命令 unt ...

随机推荐

  1. JDK1.8源码ArrayList

    线程不安全的,如果要想线程安全必须在创建的时候就采用线程安全的方式创建: List list = Collections.synchronizedList(new ArrayList(...)); 引 ...

  2. 【Python】POST上传APK检测是否存在ZipperDown漏洞

    前言 用POST的方式上传文件,检测APK是否存在ZipperDown漏洞. 代码 # authour:zzzhhh # 2018.08.08 # check ZipperDown # -*- cod ...

  3. Web测试技术要领

    基于Web的系统测试与传统的软件测试既有相同之处,也有不同的地方,对软件测试提出了新的挑战.基于Web的系统测试不但需要检查和验证是否按照设计的要求运行,而且还要评价系统在不同用户的浏览器端的显示是否 ...

  4. 170406回顾-SQL Server的smalldatetime类型比较

    在比较SQL Server的类型为smalldatetime字段时出现下面的错误:将 expression 转换为数据类型 smalldatetime 时出现算术溢出错误 正确的比较方法如下:将lon ...

  5. 制作macOS10.12系列的系统镜像文件

    制作macOS10.12系列的系统镜像文件步骤,过程也比较简单,十来个命令.以10.12.6为例,首先,在苹果商店下载系统安装包APP,或者网上下载后把安装APP复制到  应用程序  文件夹. 然后打 ...

  6. arp命令 清arp表

    平常删除arp都用arp-d.大量存在的时候 arp -n|awk '/^[1-9]/ {print arp -d $1}' | sh 清除所有arp表,以前用这个来清arp表貌会清空,没注意到存在i ...

  7. tensorflow高级库

    1.tf.app.flags tf定义了tf.app.flags,用于支持接受命令行传递参数,相当于接受argv.tf.app.flags.DEFINE_xxx()就是添加命令行的optional a ...

  8. SQL SERVER 收缩数据库的命令

    --备份数据库 BACKUP DATABASE testdb TO DISK='d:\data\testdb20070906.bak' --清空日志 DUMP TRANSACTION testdb W ...

  9. Ubuntu 搭建etcd

    一.简介 etcd是一个高可用的分布式键值(key-value)数据库.etcd内部采用raft协议作为一致性算法,etcd基于Go语言实现. 提供配置共享和服务发现的系统比较多,其中最为大家熟知的是 ...

  10. 使用文本用户界面(NMTUI)进行网络配置

    NetworkManager 文本用户界面(TUI)工具 nmtui 可提供一个文本界面配置由 NetworkManager 控制的网络.该工具包含在 NetworkManager-tui 子软件包中 ...