linux之循环

script中有三种循环,也可以分成两类循环,分别是  while  循环和 for  循环。

1、while 循环

while循环中有分为两种循环,分别是whiel do done和until do done两种

while [ condition ]  #condition左右两侧有空格
do                   #循环开始
    程序段
done 

当condion 满足条件时,即是为真实循环继续,条件不满足时跳出循环

until [ condition ]
do 
    程序段
done

until do done的方式与while的方式正好相反,当condition条件成立时,跳出循环,否则持续进行

#!/bin/bash
#program:
#       This program shows "Hello World!" in your screen
#History:
#205/08/3 rhx First Release
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH

s=0
i=1
while [ "$i" != "100" ]
do 
    i=$(($i+1))
	s=$(($s+$i))
done
echo "The result of '1+2+3+...+100' is --> $s"

注意:数值运算上,var=$((运算内容))

前100个数求和:

2、for循环

for var in con1 con2 con3 ...
do   
    程序段
done
#!/bin/bash
#program:
#       This program shows "Hello World!" in your screen
#History:
#205/08/3 rhx First Release
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH

s=0
i=0
for i in $(seq 1 100)
do 
    i=$(($i+1))
	s=$(($s+$i))
done
echo "The result of '1+2+3+...+100' is --> $s"

注意:这里的 (seq 1 100) 表示sequence序列

for 循环对数值的处理

内层括号条件左右两侧没有必须要求有空格,但是书写脚本的时候尽量左右两侧加上空格

for (( initialvalue; limitvalue;step ))
do 
    程序段
done
#!/bin/bash
#program:
#       This program shows "Hello World!" in your screen
#History:
#205/08/3 rhx First Release
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH

nu=100
i=0
for (( i=1;i<=$nu;i=i+1))
do 
	s=$(($s+$i))
done
echo "The result of '1+2+3+...+100' is --> $s"

3、shell追踪与调试

shell在执行之前,最担心的是出现语法错误,如何调试呢?

[root @loacalhost ~]#sh [-nvx] scripts.sh

参数解析:

-n  不执行script,仅仅检查语法的问题

-v   在执行script之前,先将script的内容输出到屏幕上

-x   将使用到的script内容显示到屏幕上,这个是很有的参数

[root @loacalhost ~]#sh [-nvx] scripts.sh


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值