for 用法1
1.语法
for (( 初始值; 限制值; 执行步阶 ))
do
程序段
done
这种语法适合于数值方式的运算当中,在 for 后面的括号内的三串内容意义为:
• 初始值:某个变量在循环当中的起始值,直接以类似 i=1 设定好;
• 限制值:当变量的值在这个限制值的范围内,就继续进行循环。例如 i<=100;
• 执行步阶:每作一次循环时,变量的变化量。例如 i=i+1。
2.使用案例
算出从1加到9的结果
for01.sh
#!/bin/bash
#for循环的使用
#xie
#2018年5月19日21:46:44
s=0
for(( i=1; i<10; i++ ))
do
#第一个括号执行里面的命令,
#第二个括号执行括号里面的运算
s=$(($i+$s))
done
echo "th result is $s"
for的用法2
1.语法
for var in con1 con2 con3 ...
do
程序段
done
- 第一次循环时, $var 的内容为 con1 ;
- 第二次循环时, $var 的内容为 con2 ;
- 第三次循环时, $var 的内容为 con3 ;
- ….
2.使用案例
有三种动物at,dog,tiger,并分别输出他们
for02.sh
#!/bin/bash/
#判断输入的名字是否存在cat,dog,tiger三者之中
#xie
#2018年5月19日22:41:23
for name in cat tiger dog
do
echo $name
done
while
1.语法
while [ condition ]
do
程序段落
done
这种方式中, while 是『当….时』,所以,这种方式说的是『当 condition 条件成立时,就进行循环,直到 condition 的条件不成立才停止』的意思
2.使用案例
当用户输入yes时退出程序
while02.sh
#!/bin/bash
#while的使用
#xie
#2018年5月19日23:09:15
while [ "$yes" != "yes" ] && [ "$yes" != "YES" ]
do
read -p "please input yes to exit:" yes
done
until
1.语法
until [ condition ]
do
程序段落
done
这种方式恰恰与 while 相反,它说的是『当 condition 条件成立时,就终止循环, 否则就持续进行循环的程序段。』是否刚好相反啊
while [ "$yn" != "yes" ] && [ "$yn" != "YES" ]
do
read -p "Please input yes/YES to stop this program: " yn
done
参考文献:鸟哥的linux私房菜