Shell编程学习之while循环语句和for循环语句的应用

本文详细介绍了Shell编程中while和for循环的用法,包括while循环的基本结构、死循环示例,以及for循环的不同类型,如C语言格式和Shell独有的for循环,并通过实例演示了如何实现1到100的求和。

while循环语句和for循环语句

Shell编程中的while循环:

  • 可以类比C语言中的while循环进行学习,详见本人原创博客链接
https://blog.csdn.net/qq_41878292/article/details/132081302?spm=1001.2014.3001.5502

伪代码表示:

while 表达式
do
    循环体
done
  • 用法类比Shell编程中的if分支语句;

while死循环用法:

伪代码表示:

while [ 1 ]
do
   循环体
done

while ((1))
do
   循环体
done
while true
do
   循环体
done

示例代码:

#!/bin/bash

while [ 1 ]   #while((1))或while true
do              
    date
    sleep 2
done

运行结果:

2023年 08月 20日 星期日 00:28:35 PDT
2023年 08月 20日 星期日 00:28:37 PDT
2023年 08月 20日 星期日 00:28:39 PDT
2023年 08月 20日 星期日 00:28:41 PDT
2023年 08月 20日 星期日 00:28:43 PDT
...

实例要求:

  • 编写Shell脚本,实现1到100之间所有数的求和;

测试代码:

#!/bin/bash

i=1
sum=0
while [ $i -le 100 ]   
do              
    sum=$((sum+i))
    ((i++))
done


echo "1+2+3+...+100的计算结果是:$sum" 

运行结果:

1+2+3+...+100的计算结果是:5050

Shell编程中的for循环:

  • 可以类比C语言中的for循环进行学习,详见本人原创博客链接
https://blog.csdn.net/qq_41878292/article/details/132084043?spm=1001.2014.3001.5502

Shell编程中的for循环可以分为两种类型:

C语言格式的for循环类型:

示例代码:
#!/bin/bash

for((i=0;i<10;i++))
do
   
   echo "WELCOME TO BEIJING $i"

done
运行结果:
WELCOME TO BEIJING 0
WELCOME TO BEIJING 1
WELCOME TO BEIJING 2
WELCOME TO BEIJING 3
WELCOME TO BEIJING 4
WELCOME TO BEIJING 5
WELCOME TO BEIJING 6
WELCOME TO BEIJING 7
WELCOME TO BEIJING 8
WELCOME TO BEIJING 9

Shell编程独有的for循环类型:

伪代码表示:
for 变量 in 单词列表
do
    循环体
done

单词列表的注意事项:

  • 1.列表之间用空格分隔
  • 2.列表是连续的,可以使用以下格式:
{数字1..数字n}
  • 也能用序列表示,例如,从1开始,到100结束:
`seq 1 100`
  • 有间隔,比如:从1开始,到100结束,每间隔5个值,取一个值,可以改写成:
`seq 1 5 100`
  • 3.单词列表也可以是命令的结果,需要注意的是命令的结果要使用空格进行分隔;
  • 4.省略语句in单词列表的for循环,这时执行来自终端命令行的参数;

示例代码:

#!/bin/bash

for i in whoami ls pwd
do
   $i
done
echo "-------------------------------------"
for i in `seq 0 10 100`
do

   echo "WELCOME TO BEIJING $i "

done
echo "-------------------------------------"
for i in {1..5}
do
   echo "WELCOME TO BEIJING $i "
done
echo "-------------------------------------"
for i in WELCOME TO BEIJING
do
   echo -n "$i "
   
done
echo " "
echo "-------------------------------------"
for i 
do
   echo "WELCOME TO BEIJING $i "
done
echo "-------------------------------------"
for i in `ls *.c`
do
   chmod 777 $i
done

运行结果:

#bash xxx.sh i love you
linux
f1.c  f2.c  f3.c  g1.sh  g2.sh  g3.sh
/home/linux/xxxx
-------------------------------------
WELCOME TO BEIJING 0 
WELCOME TO BEIJING 10 
WELCOME TO BEIJING 20 
WELCOME TO BEIJING 30 
WELCOME TO BEIJING 40 
WELCOME TO BEIJING 50 
WELCOME TO BEIJING 60 
WELCOME TO BEIJING 70 
WELCOME TO BEIJING 80 
WELCOME TO BEIJING 90 
WELCOME TO BEIJING 100 
-------------------------------------
WELCOME TO BEIJING 1 
WELCOME TO BEIJING 2 
WELCOME TO BEIJING 3 
WELCOME TO BEIJING 4 
WELCOME TO BEIJING 5 
-------------------------------------
WELCOME TO BEIJING  
-------------------------------------
WELCOME TO BEIJING i 
WELCOME TO BEIJING love 
WELCOME TO BEIJING you 
-------------------------------------
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值