Shell脚本应用(for、while循环语句和case分支语句)

1、for:读取不同的变量值,逐个执行同一组命令,直到取值完毕退出,变量值以空格分隔

语法:

for 变量值 in 取值列表

do

命令序列

done

2、while:重复测试某个条件,成立则执行,进入下一个循环,直到条件不成立为止

语法:

while 【条件测试 】

do

命令

添加更改测试条件语句

done

例:批量添加用户(stu1~stu20)

prefix=“stu”

i=1

while 【 $i -le 20 】

do

useradd ${prefix}$i

echo “123456” | passwd --stdin ${prefix}$i &> /dev/null

let i++

done

while条件为true:代表永远为真,死循环,必须使用exit或break命令才结束循环

必须进行递增,避免死循环:方法:

Let i++ let i=i+1 i=`expr i+1`

3、case:针对变量的不同取值,分别执行不同的命令序列

语法:

case 变量值 in

模式1)

命令序列1

;;

模式2)

命令序列2

;;

……

*)

默认命令序列

esac

取值时,中括号【】,代表任选其一 ,横杠 - ,代表取值范围,竖杠 | ,代表或者

原文发布于微信公众号 - L宝宝聊IT(gh_b0e552aa80db)

原文发表时间:2018-01-27

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Linyb极客之路

深入理解和探究Java类加载机制

java.lang.ClassLoader类的基本职责就是根据一个指定的类的名称,找到或者生成其对应的字节代码,然后从这些字节代码中定义出一个Java 类,即 ...

913
来自专栏Python小屋

Python面向对象程序设计中属性的作用与用法

公开的数据成员可以在外部随意访问和修改,很难保证用户进行修改时提供新数据的合法性,数据很容易被破坏,并且也不符合类的封装性要求。解决这一问题的常用方法是定义私有...

2434
来自专栏编程

Python面向对象6:​isinstance、super、有序字典

1、isinstance(对象名,类),查看对象是不是类的实例。 案例1:isinstance(对象名,类) classFoo: print('hh') obj...

1898
来自专栏后端技术探索

实用篇-无处不在的Location

location配置是nginx模块化配置中最出色的一个设计,几乎所有nginx的业务场景都要通过书写多个location配置来顺应业务需要。语法配置和执行规则...

1112
来自专栏开源优测

移动测试Appium之API手册

移动测试Appium之API手册 前言 本文对Appium Python Client中webdriver.py代码进行分析说明。 笔者使用python3.6版...

3779
来自专栏python3

python3--面向对象的进阶

反射的概念是由Smith在1982年首次提出的,主要是指程序可以访问,检测和修改它本身状态或行为的一种能力(自省),它首先被程序语言的设计领域所采用,并在Lis...

712
来自专栏null的专栏

Python技巧——list与字符串互相转换

在Python的编程中,经常会涉及到字符串与list之间的转换问题,下面就将两者之间的转换做一个梳理。 1、list转换成字符串 命令:list() 例子: ?...

2523
来自专栏xingoo, 一个梦想做发明家的程序员

数字按照不同格式转换成字符串

  如果自己写函数,不使用itoa怎么判断呢?   我们用通常的办法,对数字进行每位的除商,得到后与字符'0'相加。 flag = 0; ...

20210
来自专栏上善若水

040android初级篇之标准java版的HelloWorld编译及运行

运行的时候,如果 .class文件不在当前目录则需要使用-classpath 指定所在目录。

813
来自专栏Python小屋

Python多线程编程基础2:如何创建线程

Python标准库threading中的Thread类用来创建和管理线程对象,支持使用两种方法来创建线程:1)直接使用Thread类实例化一个线程对象并传递一个...

2584

扫码关注云+社区