初识Shell_6_流程控制

Shell--流程控制

各个流程控制块里不能为空(没有操作)

1. if else

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

示例
num1=$[2*3]
num2=$[1+5]
if test $[num1] -eq $[num2]
then
    echo '两个数字相等!'
else
    echo '两个数字不相等!'
fi
 
if else-if else 格式

if condition1
then
    command1
elif condition2 
then 
    command2
else
    commandN
fi

示例
a=10
b=20
if [ $a == $b ]
then
   echo "a 等于 b"
elif [ $a -gt $b ]
then
   echo "a 大于 b"
elif [ $a -lt $b ]
then
   echo "a 小于 b"
else
   echo "没有符合的条件"
fi

2.for

 

格式

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

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

for loop in 1 2 3 4 5
do
    echo "The value is: $loop"
done

3.while

格式

while condition
do
    command
done

#!/bin/sh
int=1
while(( $int<=5 ))
do
        echo $int
        let "int++"
done

4.case

格式

case 值 in
模式1)
    command1
    command2
    ...
    commandN
    ;;
模式2)
    command1
    command2
    ...
    commandN
    ;;
esac

echo '输入 1 到 4 之间的数字:'
echo '你输入的数字为:'
read aNum
case $aNum in
    1)  echo '你选择了 1'
    ;;
    2)  echo '你选择了 2'
    ;;
    3)  echo '你选择了 3'
    ;;
    4)  echo '你选择了 4'
    ;;
    *)  echo '你没有输入 1 到 4 之间的数字'
    ;;
esac

 

posted on 2016-08-25 10:07  小董斌  阅读(107)  评论(0编辑  收藏  举报

导航