linux的while 循环和 for 循环代码实例介绍,linuxwhile
linux的while 循环和 for 循环代码实例介绍,linuxwhile
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
评论暂时关闭