更多的结构化命令

更多的结构化命令

1.for命令

for var in list
do 
    commands
done                          
var会依次迭代list中的值,当list中有空格或者单引号时,可以用/或者“”
来解决这个问题。shell并不会将双引号当作值的一部分。

2.更改字段分隔符

IFS叫做内部字段分隔符,IFS环境变量定义了bash shell用作字段分隔符的一系列字符
默认情况下会将下列字符当作字段分隔符:
空格
制表符
换行符
如果bash shell在数据中看到了这些字符中任意一个,它就会假定这表明了列表中一个
新数段的开始,如果想要修改IFS值,使其只能识别换行符,那么IFS=$'\n'

3.for命令

如:
for(( i=1;i <= 10;i++))
do 
    echo "The next number is $i"
done
会输出The next number is 1
      ·
      ·
      The next number is 10

4.while命令

while test command
do
    other commands
done
如果command的状态码返回是0,则它会在每次迭代的一开始测试test命令。
如果非零,则会停止。

5.until命令

与while正好相反
until test command
do 
    other commands
done

6.break

for var1 in 1 2 3 4 5 6 7 8 9 10
do
    if [ $var1 -eq 5 ]
    then 
        break
    fi
    echo "Tteration number :$var1"
done
echo "The for loop is completed"
当var1迭代到5时,就会停止循环。
如果有多层循环, break n可以停止n层循环

7.continue命令

与C语言一样,提前中止某次循环中的命令,但并不会完全终止整个循环

8.查找可执行文件

#!/bin/bash
IFS=:
for folder in $PATH
do 
    echo "$folder:"
    for file in $folder/*
    do
        if [ -x $file ]
        then
            echo " $file"
        fi
    done
done

猜你喜欢

转载自blog.csdn.net/jd_457619512/article/details/89471061