shell-if判断语句

一、if条件判断基础语法

1、单层,简单条件判断式

if [ 条件判断式 ]; then
    command
fi
##例如:
if [ "${Yn}" == "Y" ]; then
    echo "yes"
    exit 0
fi

多个条件判断可以用 && (AND) 和 || (OR) 连接起来 或者 -a (AND) 和 -o(OR)连接

例如:

if [ "${Yn}" == "Y" || "${Ys}" == "Y" ]; then         
    echo "yes"
    exit 0
fi

或者:

if [ "${Yn}" == "Y" -o "${Ys}" == "Y" ]; then
    echo "yes"
    exit 0
fi

或者:

if [ "${Yn}" == "Y" ] || [ "${Ys}" == "Y" ]; then
    echo "yes"
    exit 0
fi

=注意=:对于有些操作系统是不支持例子1的,只支持例子2或者例子3

2、多重, 复杂条件判断式

if [ 条件判断式 ]; then
    command
else 
    command
fi

三层判断式

if [ 条件判断式 ]; then
    command
elif [ 条件判断式2 ]; then
    command
else 
    command
fi

多重判断式

if [ 条件判断式 ]; then
    command
elif [ 条件判断式2 ]; then
    command
elif [ 条件判断式3 ]; then
    command
elif [ 条件判断式4 ]; then
    command    
else 
    command
fi

3、混合条件判断

if [ "${Yn}" == "Y" -o "${Ys}" == "Y" ] && [ "${Yx}" == "Y" -a "${Yy}" == "N" ]; then
    echo "yes"
    exit 0
else 
    echo "no"
fi
##或者
if [ "${Yn}" == "Y" -o "${Ys}" == "Y" ] && [ "${Yx}" == "Y" -o "${Yy}" == "N" ]; then
    echo "yes"
    exit 0
else 
    echo "no"
fi

二、case条件判断基础语法

case $变量名 in
    "第一个变量内容")
      程序段
      ;;
    "第二个变量内容")
      程序段
      ;;
    "第三个变量内容")
      程序段
      ;;
    *)
      程序段
      ;;
esac 

例子如下

Yx=1
case $Yx in
    "1")
      echo '1'
      ;;
    "2")
      echo '2'
      ;;
    "3")
      echo '3'
      ;;
    *)
      echo '*'
      ;;
esac 

你可能感兴趣的:(#,shell,centos,运维,bash,服务器)