• for循环语句
    • 循环控制语句
    • seq命令
    • 实例:
  • while循环
    • 实例:
  • until循环
    • 实例:
  • 常用转义字符
  • shell脚本多重循环小实验
    • 一、99乘法表
    • 二、矩形
    • 三、直角三角形
    • 四、等腰直角三角形
    • 五、菱形

for循环语句

  • FOR循环语法结构
  • FOR循环可以结合条件判断和流程控制语句
    • do …done 循环体
    • 循环体里可以是命令集合,再加上条件判断以及流程控制

循环控制语句

循环体: do…done之间的内容

  • continue:继续;表示循环体内下面的代码不执行,重新开始下一次循环
  • break:打断;马上停止执行本次循环,执行循环体后面的代码
  • exit:表示直接跳出程序
for 变量名 in 取值列表
do                   命令序列
done

seq命令

  • 使用 seq 命令,打印出5个人hello
#!/bin/bashfor i in `seq 5`
do
echo hello
done

  • seq 命令给变量
#!/bin/bash
a=10
for i in `seq $a`
do
echo hello
done

实例:

  1. 提示用户输入一个小于100的整数,并计算从1到该数之间所有整数的和。
#!/bin/bashsum=0                                     #定义一个变量
read -p "请输入一个0-100之间的整数:" a       #使用read命令获取输入内容为变量a赋值
for ((i=1;i<=$a;i++))                     #for循环,i=1,循环次数小于等于变量a的值,i每次循环加1
dosum=$[$sum + $i]                        #输出循环
doneecho "$sum"

  1. 求1到该数的奇数和,偶数和
#!/bin/bashsum=0
jum=0
read -p "请输入一个0-100之间的整数:" a
for ((i=0;i<=$a;i+=2))
dosum=$[$sum + $i]
doneecho "1到$a之间的偶数和为$sum"for ((b=1;b<=$a;b+=2))
dojum=$[jum + $b]
done
echo "1到$a之间的奇数和为$jum"

  1. 批量添加用户
    用户名存放在users.txt文件中,每行一个
    初始密码均为123456
    验证
#!/bin/basha=`cat users.txt`       #反撇号直接取值
for i in $a
do
useradd $i
echo "123456" | passwd --stdin $i
done



  1. 根据IP地址检查主机状态
    IP地址存放在ipadds.txt文件中,每行一个
    使用ping命令检查各主机的连通性

这题基本和上题一样的

#!/bin/bashi=`cat /opt/ipadds.txt`
for a in $i
do
ping -c3 -W2 $a > /dev/null
if [ $? -eq 0 ]
then
echo "$a:up"
else
echo "$a:down"
fi
done

while循环

  • 条件为假就进入循环;条件为真就退出循环
while 条件测试操作
do命令序列
done

实例:

  1. 计算从1到100所有整数的和
#!/bin/bashi=1
sum=0
while [ $i -le 100 ]do
let  sum=$[$sum + $i ]let i++done
echo "1-100之间所有整数和为$sum"

  1. 计算从1到100所有偶数的和
#!/bin/bashi=1
sum=0
while [ $i -le 100 ]
do
if [ $((i%2)) -eq 0 ];then
let sum=$i+$sum
fi
let i++
done
echo $sum

  1. 猜数字
#!/bin/bashn=30
while true
doread -p "请输入一个数字:" num
if [ $num -eq $n ];then
echo "你猜对了"
break
elif [ $num -gt $n ];then
echo "你猜大了"elif [ $num -lt $n ];then
echo "你猜小了"
fi
done

until循环

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

until 条件测试操作
do  命令序列
done

#!/bin/bashsum=0
i=1
until [ $i -gt 50 ]
dosum=$[$i+$sum]
let i++
done
echo "1-50的和为$sum"

实例:

  1. 计算1~50的和

常用转义字符

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"前面的字符不会被覆盖\\ 表示插入"\"本身;

shell脚本多重循环小实验

一、99乘法表

#!/bin/bashfor ((a=1;a<=9;a++))
dofor ((b=1;b<=$a;b++))doc=$[$a*$b]echo -n -e "$a*$b=$c\t"done
echo ""done

二、矩形

#!/bin/bashfor ((a=1;a<=5;a++))
dofor ((b=1;b<=10;b++))doecho -n "*"doneecho ""
done

三、直角三角形

#!/bin/bash
for ((a=1;a<=9;a++))
dofor ((b=1;b<=$a;b++))do  echo -n "*"doneecho ""
done

四、等腰直角三角形

  • 算法计算 $a*2-1
#!/bin/bash
for ((a=1;a<=9;a++))
dofor ((b=9;b>=$a;b--))doecho -n " "donefor ((c=1;c<=$[$a*2-1];c++))doecho -n "*" doneecho ""
done

五、菱形

#!/bin/bash
for ((a=1;a<=9;a++))
dofor ((b=9;b>=$a;b--))doecho -n " "donefor ((c=1;c<=$[$a*2-1];c++)) doecho -n "*"done
echo ""
donefor ((d=1;d<=10;d++))
dofor ((e=2;e<=$d;e++))doecho -n " "donefor ((f=10;f>=$d;f--)) do echo -n "*"donefor ((g=9;g>=$d;g--))doecho -n "*"doneecho ""
done

Shell编程之循环语句与常用转义字符及一些小实验相关推荐

  1. Shell编程之循环语句(详细讲解以及脚本案例)

    Shell编程之循环语句(详细讲解以及脚本案例) 文章目录 一.for语句的结构 (一).for语句应用实例 1.示例1--批量添加用户 2.示例2--使用根据IP地址检查主机状态 3.示例3--fo ...

  2. shell编程之循环语句

    shell编程之循环语句 文章目录 shell编程之循环语句 一.for循环语句 1. for循环语法结构 ㈠ 列表循环 2. 应用案例 二.while循环语句 1. while循环语法结构 2. 应 ...

  3. 【Shell编程之循环语句与函数】

    目录 一.for循环语句 示例: 示例1 示例2 示例3 二.跳出循环 举例 转义符 三.while 语句的结构 示例: 四.until语句的结构 1.基本格式 五.seq命令 一.for循环语句 读 ...

  4. Shell编程之循环语句(for、while、until)

    文章目录 1.for语句的结构 示例1 示例2 示例3 示例4 2.while语句的结构 示例1 3.until语句的结构 示例1 1.for语句的结构 总结: 条件需要你预先已经知道会出现哪些情况, ...

  5. Shell编程之条件语句(if语句,case分支语句)

    Shell编程之条件语句 一.条件测试操作 1.test命令 2.文件测试 3.整数值比较 4.字符串比较 5.逻辑测试 二.if语句 单分支结构 双分支结构 多分支结构 三.case分支语句 一.条 ...

  6. Linux Shell 脚本之循环语句

    目录 Shell 脚本之循环语句 一.echo 二.date 三.for 四.while 五.until 六.continue 和 break Shell 脚本之循环语句 一.echo echo  - ...

  7. Shell脚本for循环语句应用

    记录:430 场景:Shell脚本for循环语句应用. 版本:CentOS Linux release 7.9.2009. 1.for循环常用格式 1.1格式:for(;;) for((express ...

  8. (四)shell编程之循环结构

    shell编程之循环结构 #本机课程目标 掌握for循环语句的基本语法结构 掌握while和until循环语句的基本语法结构 一.for循环语句 关键词:爱的魔力转圈圈

  9. shell编程之条件语句(文件测试,test命令,字符串和逻辑测试,if单支语句,if双支语句,if多支语句,case命令,用if写跑步小实验)

    文章目录 shell编程之条件语句 条件测试 test命令 整数值测试 free -m 提供了更简洁的查看系统内存使用情况: 字符串和逻辑测试 字符串 逻辑测试 一元运算符,二元运算符和三元运算符 i ...

最新文章

  1. 这位图灵奖得主大佬,你可知道?
  2. Python通过一个网页地址获得网页标题Title
  3. animate.css动画抖动,Animate.css抖动效果每次都不工作
  4. [css] 举例说明css有哪些简写的属性和属性值?
  5. 用上Latex实现编辑伪代码
  6. 首个谷歌TensorFlow安全风险被腾讯找到:攻击成本低、迷惑性强
  7. linux系统交换空间,Linux中如何使用和管理交换空间
  8. nyoj--2--括号配对
  9. MAC OS下使用JAVE将amr转mp3的坑
  10. Git 笔记:廖雪峰Git 教程总结
  11. java-ActiveXComponent调用com组件
  12. 关于Protel 2004 绘制电路原理图
  13. error: <class ‘xmlrpclib.Fault‘>, <Fault 92: “CANT_REREAD: The directory named as part of the path /
  14. 移动硬盘(USB3.0)1TB 在自己电脑上突然识别不了
  15. 计算机c盘空间满了应该怎么办,C盘空间满了怎么办?我来教你你如何解决
  16. 手机端网页尺寸html,手机端网页设计尺寸_html/css_WEB-ITnose
  17. 沃云服务器上部署web项目(亲试)!
  18. 有约束多变量寻优方法——内点罚函数法
  19. oracle查表空间剩余,查看Oracle表空间剩余
  20. java基于ssm+vue+elementui的足球联赛会报名系统

热门文章

  1. vista常见故障及解决
  2. 绝地求生服务器在线人数,《绝地求生:大逃杀》同时在线人数突破165万 官方就服务器问题向玩家致歉...
  3. 13个球一个天平,现知道只有一个和其他的重量不同,问怎样称才能用3次就找到那个球?
  4. python:sine之舞
  5. java 农历 天文,“中国天眼”的新发现 终结天文界持续多年的一场争论
  6. android 气泡,Android Q 气泡
  7. java 气泡图_图表气泡图/图表的大小图例
  8. iMovie剪辑技巧一
  9. 映美Jolimark CFP-535W 打印机驱动
  10. libevent configure: error: openssl is a must but can not be found.error while loading shared librari