Shell编程循环语句(if 、while、 until)

12 篇文章 1 订阅

目录

一、for循环语句

二、while循环语句

三、until循环语句

四、双重循环

五、echo的选项和用法

 常见的转义字符

 六、seq的用法


一、for循环语句

执行机制:遍历

执行机制:
依次将列表中的元素赋值给“变量名”; 每次赋值后即执行一次循环体; 直到列表中的元素耗尽,循环
结束
如果省略 [in WORDS ... ] ,此时使用位置参数变量 in "$@"

读取不同的变量值,用来逐个执行同一组命令

语句结构示例图:

 示例1

 

 

 示例2:1-100累计和的脚本 

二、while循环语句

while
当命令判断为假时停止

重复测试某个条件,只要条件成立则反复执行

语句结构示例图:

示例1:猜商品价格1-999,看几次能够猜对。

 

三、until循环语句

until
当命令判断为真时停止

重复测试某个条件,只要条件不成立则反复执行

语句结构示例图:

示例1:计算1~50的和值(通过循环累加的方式)

 

 

四、双重循环

break 跳出单个循环后面加数字2则代表跳出两层循环

  • 语法 break 将用于以下break语句退出循环。
  • break  [n] 这里n指定的第n个封闭的循环退出。

continue 终止某次循环中的命令,但是不会完全终止命令

  • 语法 continue 和break语句一样,一个整数参数可以给continue命令跳过嵌套循环的命令。
  • continue n 这里n指定第n个封闭循环 continue 。

示例:

写个逛宝选购商品脚本,每家商店有五种商品选购(衣服500元,裤子400元,鞋子350元,帽子150元,袜子50元),每次选购完或不买都会提示用户是否继续逛下一家商店(最多100家店),如果不再继续逛的话进行购物车结算总额。

 

五、echo的选项和用法

格式:

echo -e "adfa\n123"

 常见的转义字符


常见的转义字符如下:(得加上-e选项才能生效)

\b:转义后相当于按退格按键,但是前提是"\b"后面存在字符,"\b\b"表示删除前面两个字符。

\c:不换行输出,在"\c"后面不存在字符的情况下。作用相当于echo -n ;但是当"\c"后面任然存在字符时候,"\c"后面的字符将不会被输出。

\n: 换行,被输出的字符从"\n"处开始另起一行(换行带有回车的功能)。

\f: 换行,但是换行后的新行的开头位置连接着。

\v: 换行,与/f相同。

/t: 转义后插入tab,就是横向制表符(解释:水平空出几个格)。

\r:光标移动到行首,但是不换行,相当于使用"\r"的名字以后面的字符覆盖"\r"之前等同长度的字符号。但是当"\r"后面不存在任何字符的时候,"\r"前面那的字符不会被覆盖。

\\:表示插入"\"本身。





 示例:

i=`echo "11,22,33,44" `
echo ${i%,*}
11,22,33
//从最后倒数到最短的匹配部分(%)后面的逗号的地方被删除

echo ${i%%,*}
11
//从最后倒数到最长的匹配部分(%%)后面的逗号的地方都删除掉!

echo ${i#*,}
22,33,44
//从开头到最短的匹配部分(#)后面的逗号的地方被删除

echo ${i##*,}
44
//从开头到最后的匹配部分(##)后面的逗号的地方被删除

 六、seq的用法

seq的用法
seq  10  #起始默认是1,间隔默认是1,输出的结果(1-10)
seq  2  10  #起始值是2,间隔默认是1,输出的结果(2-10)
seq  1  3   10 #起始值是1,间隔默认是3,输出的结果:1 4 7 10 


 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值