9、shell流程控制

shell流程控制

shell的if else与其他语言的有所不同。

1、if else fi

if语句

if condition
then
    command1 
    command2
    ...
    commandN 
fi

写成一行(适用于终端命令提示符):

if [ $(ps -ef | grep -c "ssh") -gt 1 ]; then echo "true"; fi

if else语句

if condition
then
    command1 
    command2
    ...
    commandN
else
    command
fi

2、if else-if else

if condition1
then
    command1
elif condition2 
then 
    command2
else
    commandN
fi

if else可以使用[...]判定语句中使用 大于-gt,小于-lt

if [ "$a" -gt "$b" ]; then
    ...
fi

可以使用((...))可以直接使用大于>,小于<

if (( a > b )); then
    ...
fi

3、for循环语句

for循环的格式为:

for var in item1 item2 ... itemN
do
    command1
    command2
    ...
    commandN
done

写成一行:

for var in item1 item2 ... itemN; do command1; command2… done;

4、while循环语句

while condition
do
    command
done

5、无限循环

while :
do
    command
done

或者:

while true
do
    command
done

或者:

for (( ; ; ))

6、until 循环

until 循环执行一系列命令直至条件为 true 时停止。

until 循环与 while 循环在处理方式上刚好相反。

一般 while 循环优于 until 循环,但在某些时候—也只是极少数情况下,until 循环更加有用。

until 语法格式:

until condition
do
    command
done

7、case ... esac

选择匹配语句。类似于switch ... case 语句

case 值 in
模式1):
    command1
    command2
    ...
    commandN
    ;;
模式2):
    command1
    command2
    ...
    commandN
    ;;
*):#default
 	command1
    command2
    ...
    commandN
	;;
esac

8、跳出循环

break

结束当前的循环语句,继续执行下面的操作。

continue

结束当次的循环语句,继续判定执行循环。

posted @ 2023-01-09 18:03  站着说话不腰疼  阅读(32)  评论(0)    收藏  举报