Shell循环语句的使用(for循环、while循环、until循环)

 更新时间:2023年06月20日 09:43:06   作者:小啄学习日记  
本文主要介绍了Shell循环语句的使用(for循环、while循环、until循环),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

一.for循环

1.基本格式

读取不同的变量值,用来逐个执行同一组命令,经常使用在已经知道要进行多少次循环的场景。

格式:
for  变量名  in  取值列表
do
	命令序列
done

2.脚本小仓库

2.1 打印一列问号

#!/bin/bash
for i  in {1..9}
do
echo -e " ? "
done

2.2 打印正方形 

#!/bin/bash
for j in {1..9}
do
for i  in {1..9}
do
echo -e " * \c"
#\c换行
done
echo
#换行
done

2.3 九九乘法表 

#!/bin/bash
for j in {1..9}
    do
       for i in `seq $j`
    do
	 echo -e "${i}x${j}=$[i*j] \t\c"
	 #\t tab键可以对齐
    done
	echo
done

2.4 求1..10奇数和

#/bin/bash
sum=0
for i in {1..10..2}
do
  sum=$[sum+i]
  let i++
done
echo "10以内的奇数和为:$sum"

2.5  批量创建用户并修改密码

#!/bin/bash
for user in {1..10}
  do
   echo stu${user}|xargs -n1 useradd
   echo "123123"|passwd --stdin stu${user}
  done

2.6 1累加到100方法一

#!/bin/bash
sum=0
for ((i=0;i<=100;i++))
do
sum=$[i+sum]
done
echo sum=$sum

2.7 1累加到100方法二

#!/bin/bash
sum=0
for i in {1..100}
do
let sum=$i+$sum
#sum=$[i+sum]
#两种方法都可以
done
echo sum=$sum

二.while循环 

1.基本格式

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

格式:
while  [ 条件测试操作 ]
do						#do代表循环的开始
	判断式/命令序列
done 					#done代表循环的结束

2.脚本小仓库

2.1 猜价格小游戏

#!/bin/bash
p=`echo $[RANDOM%1000+1]`
time=0
while true
do
let time++
read -p "请输入您猜测的价格(1-1000):" h
if [ $h -eq $p ]
then
echo "恭喜您猜中了,您一共猜测了$time次"
exit
elif [ $h -gt $p ]
then
echo "您猜测的价格过高"
else
echo "您猜测的价格过低"
fi
done

2.2 1累加到100方法三 

#!/bin/bash
i=0
sum=0
while [ $i -le 100 ]
do
sum=$[i+sum]
let i++
done
echo $sum

三.until循环

1.基本格式

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

格式:
until  [ 条件测试操作 ]
do
	判断式/命令序列
done

2.脚本小仓库

2.1 1累加到100方法四

#!/bin/bash
sum=0
i=0
until [ $i -gt 100 ]
do
 sum=$[sum+i]
 let i++
done
echo "{1..100}的和:$sum"

四.嵌套循环

在循环内部再使用一个循环称为嵌套循环

格式:
#!/bin/bash
for ((i=1;i<5;i++))
do
        echo 此${i}为外部循环
        for((j=1;j<4;j++))
        do
                echo -e "\t此${j}为内部循环"
        done
done

五.循环语句中的break、exit和continue的使用

1.break的使用

当满足条件的情况下break会跳出当前循环体

#!/bin/bash
for ((i=1;i<5;i++))
do      
        echo 此${i}为外部循环
        for((j=1;j<4;j++))
        do
            if [ $j -eq 3 ]			<------如果j的值为3
            then
                break				<------跳出当前循环(内部)
            fi  
        echo -e "\t此${j}为内部循环"
        done
done

2.exit的使用

当满足条件的情况下exit会直接退出当前脚本

#!/bin/bash
for ((i=1;i<5;i++))
do
        echo 此${i}为外部循环
        for((j=1;j<4;j++))
        do
            if [ $j -eq 3 ]					<------如果j的值为3
            then
                exit						<------结束当前脚本
            fi
        echo -e "\t此${j}为内部循环"
        done
done
 

3.continue的使用

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

#!/bin/bash
for ((i=1;i<5;i++))
do
        echo 此${i}为外部循环
        for((j=1;j<4;j++))
        do
            if [ $j -eq 2 ]					<------如果j的值为2
            then
                continue					<------中止循环中本次的命令,但不会完全中止整个循环或脚本
            fi
        echo -e "\t此${j}为内部循环"
        done
done

到此这篇关于Shell循环语句的使用(for循环、while循环、until循环)的文章就介绍到这了,更多相关Shell循环语句内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 用于检测进程的shell脚本代码小结

    用于检测进程的shell脚本代码小结

    本文介绍一段shell脚本,它可以检测某进程或某服务是否正在运行,然后以邮件通知。有需要的朋友参考下
    2013-11-11
  • 用Shell判断字符串包含关系的方法小结

    用Shell判断字符串包含关系的方法小结

    这篇文章主要给大家介绍了关于用Shell判断字符串包含关系的几种方法,其中包括利用grep查找、利用字符串运算符、利用通配符、利用case in 语句以及利用替换等方法,每个方法都给出了详细的示例代码与介绍,有需要的朋友们可以参考参考借鉴,下面来一起看看吧。
    2016-12-12
  • shell脚本编程Makefile的使用

    shell脚本编程Makefile的使用

    本文主要介绍了shell脚本编程Makefile的使用,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • 一问弄懂Shell变量四大分类

    一问弄懂Shell变量四大分类

    Shell变量分为环境变量、本地变量、位置参数变量和特殊变量,本文就详细的介绍一下这四种变量的具体使用,具有一定的参考,感兴趣的可以了解一下
    2023-05-05
  • Linux中rpm命令用法详解

    Linux中rpm命令用法详解

    rpm命令是用于在基于RPM包管理系统的Linux发行版中安装、查询、升级和删除软件包的命令行工具,本文讲给大家详细的介绍一下Linux rpm命令的使用方法,感兴趣的同学跟着小编一起来看看吧
    2023-08-08
  • Shell脚本中的echo命令使用介绍

    Shell脚本中的echo命令使用介绍

    这篇文章主要为大家介绍了Shell脚本中的echo命令使用介绍,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-05-05
  • linux修改目录和文件权限的简单命令解释

    linux修改目录和文件权限的简单命令解释

    这篇文章主要介绍了linux修改目录和文件权限的命令使用,大家参考使用
    2013-11-11
  • shell脚本ssh远程执行命令给变量赋值的问题解决

    shell脚本ssh远程执行命令给变量赋值的问题解决

    本文主要介绍了shell脚本ssh远程执行命令给变量赋值的问题解决,就是从A机器通过SSH方式到B机器,并执行相关的命令,具有一定的参考价值,感兴趣的可以了解一下
    2023-07-07
  • Linux命令每天必学(55)之traceroute命令

    Linux命令每天必学(55)之traceroute命令

    这篇文章主要介绍了Linux命令每天必学(55)之traceroute命令的相关资料,需要的朋友可以参考下
    2015-11-11
  • 使用SHC对Shell脚本进行封装和源码隐藏的方法

    使用SHC对Shell脚本进行封装和源码隐藏的方法

    shc是一个由C语言编写的Shell脚本加密程序,它可以将你的脚本编译成二进制可执行文件,从而隐藏源码,这篇文章主要介绍了如何使用SHC对Shell脚本进行封装和源码隐藏,需要的朋友可以参考下
    2023-10-10

最新评论