全部博文(61)
分类: LINUX
2013-01-31 16:50:56
N年前,曾经在TX面试时遇到一个简单的循环脚本的题,惭愧的是,如此简单的题,我居然给答错了
题目是从1加到100,两种方式;
其实这种简单的循环语句,学C的时候大家都见识多了,只是长久不用,给忘记了,并且循环的方式有很多种,这里介绍两种写法吧
一个是for循环:
#!/bin/bash x=0 for ((i=1;i<=100;i++)) do x=$(($i+$x)) done echo $x
一个是while循环:
#!/bin/bash x=0 i=1 while ((i<=100)) do x=$(($x+$i)) ((i++)) done echo $x
两点说明:第一个,双小括号,主要的用法是用于①整数扩展②运算③重定义变量④双小括号里的变量可以不用$做前缀,这里加了是为了方便理解,其实完全可以取消的
第二个,关于while循环中((i++))和x=$((x+i))的先后顺序,大家可以去了解一下i++和i=i+1的差别
$* 所有参数
$# 参数的个数
$@所有参数,
如"$*"用「"」括起来的情况、以"$1 $2 … $n"的形式输出所有参数。
如"$@"用「"」括起来的情况、以"$1" "$2" … "$n" 的形式输出所有参数。