shell循环

循环

for循环

for 变量名 in 变量值

do
        执行程序
done
for i in {0..8}
do
    echo $i
done

for嵌套

read -p "打印多少行啊" num

for ((i=1;i<=$num;i++))

do
       for ((m=1;m<=i;m++))
       do
                echo -n  "*"
        done
        echo ""
done

while语句

while 条件测试
do
  判断为真的时候执行命令
done

until 语句

until []
 do
 判断为假的时候执行
 done
until [ -d /etc/nginx ]

do
        nginx -t &> /dev/null
        echo $?
        exit
done

Shell 循环控制

命令说明
break nn 表示跳出循环的次数,如果省略 n 表示跳出整个循环
continue nn 表示退到第n层继续循环,如果省略n表示跳过本次循环进入下一次循环
exit n退出当前的shell程序,并返回 n,n 也可以省略
return用于返回一个退出值给调用的函数
shift用于将参数列表list左移指定次数,最左端的那个参数就从列表中删除,其后边的参数继续进入循环

break跳出循环次数

while rpm -qa | grep -q vim; [ $? -eq 0 ]
do
    for ((i=1; i<=3; i++))
    do
        echo "666"

        if [ $i -eq 3 ]; then
            break  2 #跳出循环次数

        fi
    done
done

编程之函数

定义函数

name(){
操作内容 命令

}

调用函数

直接在操作中定义函数

if [ -f /etc/nginx/nginx.conf ];then
name 
fi
#!/bin/bash
# first function
function HelloWorld() {
  echo "Hello world"
}
# second function
Welcome() {
  echo "Welcome to qfedu"
}
# third function
function HelloShell {
 echo "Hello Shell"
}
# file functions
HelloWorld               # 调用函数
Welcome
HelloShell