shell脚本中的循环

说明:

        1.本文仅供学习交流,不得用于其它目的,转载请标明出处,欢迎转载;

        2.本文参考资料为:《鸟哥的Linux私房菜:基础学习篇》;

学过C/C++/Java的人都知道,循环是一种重要的结构,下面我们要求:

1.用户输入整数n;

2.求出1+2+...+n的和;

3.输出和

这是一道非常简单的循环题,我们可以很快用C++完成该任务,如下:

#include<iostream>
using namespace std;
int main()
{
	int i,n,sum;
	cout<<"input a integer:";
	cin>>n;
	sum=0;
	for(i=0;i<=n;i++)
	{
		sum+=i;
	}
	cout<<"1+2+...+"<<n<<"="<<sum<<endl;
	return 0;
}

那么,如果用shell脚本我们如何实现呢?

方法1:for_do_done

for(( 初始化;循环条件;变化))

do

....

 done

注意:上面的((两个括号必须紧挨着,中间不能有空格,否则报错,右括号也是!

举例:

shell脚本中的循环_第1张图片

方法2:for_in_do_done

for 变量 in 集合

do

...

done

shell脚本中的循环_第2张图片

注意:上面第12行中的“seq 1 $n”表示从1到n构成的序列。

方法3:while_do_done

while [ 条件]

do

...

done

注意:条件指的是进入循环题的条件,这与下面的until_do_done正好相反。

shell脚本中的循环_第3张图片

方法4:until_do_done

until [ 条件 ]

do

...

done

注意:条件指的是退出循环体的条件,这正好与我们的高级语言相反。

shell脚本中的循环_第4张图片

最后,我们用一个由while_do_done和for_do_done组成的二维重循环来输出“九九乘法表”

shell脚本中的循环_第5张图片

你可能感兴趣的:(shell脚本中的循环)