前言
Shell作为一种脚本编程语言,同样了包含了循环,分支等其他程序控制结构,从而能够轻松完成更加复杂、强大的功能。我们今天就来认识for、while、case语句的具体应用。
插个小广告吧,虽然我一开始是拒绝的,课程的内容质量还是可以的,喜欢的小伙伴根据自身需求自行订阅
一、for循环语句
1. for循环语法结构
(一)列表循环
列表for循环:用于将一组命令执行已知的次数
-
基本语法格式
for variable in {list}
do
command
command
...
done
或者
for variable in a b c
do
command
command
...
done
举例说明:
[root@localhost ~]# for var in {1..10};do echo $var;done
[root@localhost ~]# for var in 1 2 3 4 5;do echo $var;done
[root@localhost ~]# for var in `seq 10`;do echo $var;done
[root@localhost ~]# for var in $(seq 10);do echo $var;done
[root@localhost ~]# for var in {0..10..2};do echo $var;done
[root@localhost ~]# for var in {2..10..2};do echo $var;done
[root@localhost ~]# for var in {10..1};do echo $var;done
[root@localhost ~]# for var in {10..1..-2};do echo $var;done
[root@localhost ~]# for var in `seq 10 -2 1`;do echo $var;done
(二)不带列表循环
不带列表的for循环执行时由用户指定参数和参数的个数
-
基本语法格式
for variable
do
command
command
...
done
举例说明:
#testfor.sh
#!/bin/bash
for var
do
echo $var
done
echo "They are $# parameters after the script"
[root@localhost tmp]# ./testfor.sh 1 2 3 4 5
1
2
3
4
5
They are 5 parameters after the script
[root@localhost tmp]# ./testfor.sh `seq 10`
1
2
3
4
5
6
7
8
9
10
They are 10 parameters after the script
(三)类C风格的for循环
-
基本语法结构
for(( expr1;expr2;expr3 ))
do
command
command
…
done
for (( i=1;i<=5;i++))
do
echo $i
done
expr1:定义变量并赋初值
expr2:决定是否进行循环(条件判断决定循环什么时候退出)
expr3:决定循环变量如何改