首页 > 系统服务 > 详细

shell编程之循环语句

时间:2021-07-19 10:00:34      阅读:14      评论:0      收藏:0      [点我收藏+]

一、条件测试

echo -n #表示不换行输出

echo -e #输出转义字符,将转义后的内容输出到屏幕上

 

技术分享图片

技术分享图片

常用的转义字符如下:

\b
转义后相当于按退格键(backspace) ,但前提是"\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
//从开头到最长的匹配部分(用##)后面的逗号的地方被删除

 

技术分享图片

补充:

技术分享图片

二、循环语句

1、for循环语句结构(遍历)

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

for i in {1..10}         {1..10..2}

for i in $(seq 1 10)     $(seq 1 2 10)

for ((i=1; i<=10; i++))  ( 1; i<=10; i+=2))
do
   echo  $i
done

for ((i=1; i<=10; i++)) ;do echo $i ;done

 

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

示例1

批量添加用户

  • 用户名存放在users.txt文件中,每行一个
  • 初始密码均设为123456
  • 验证脚本

技术分享图片
技术分享图片

技术分享图片

技术分享图片

示例2

根据IP地址检查主机状态

  • IP地址存放在ipadds.txt文件中,每行一个
  • 使用ping命令检测各主机的连通性

技术分享图片
技术分享图片

技术分享图片

技术分享图片

2、while循环语句结构(迭代)

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

示例1

批量添加用户

  • 用户名称以stu开头,按数字顺序进行编号
  • 一共添加20个用户,即stu1、 stu2、…、stu20
  • 初始密码均设为1

技术分享图片

技术分享图片

技术分享图片

示例2

猜商品价格游戏

  • 通过变量RANDOM获得随机数
  • 提示用户猜测并记录次数,猜中后退出循环

技术分享图片

注:RANDOM值为0-65535

技术分享图片

3、until 循环语句结构

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

示例1

计算1~50的和值

  • 通过循环累加的方式计算1~50的和值

技术分享图片

技术分享图片

shell编程之循环语句

原文:https://www.cnblogs.com/lsq66/p/15019394.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!