您的位置:首页 > 运维架构 > Shell

Shell 学习笔记三(条件分支语句)

2014-05-12 14:57 489 查看
        在Shell里常用的条件分支语句有 if else 语句和 case语句。

IF ELSE 语句

基本结构:

if condition
then
command1
command2
...
commandN
fi

if else格式

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

if else-if else格式

if condition1
then
command1
elif condition2
command2
else
commandN
fi

if else语句经常与test命令结合使用,如下所示:
#! /bin/bash

num1=$((2*3))
num2=$((1+5))
if test $num1 -eq $num2
then
    echo 'The two numbers are equal!'
else
    echo 'The two numbers are not equal!'
fi

Case语句

Shell case语句为多选择语句。可以用case语句匹配一个值与一个模式,如果匹配成功,执行相匹配的命令。case语句格式如下:

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

         case工作方式如上所示。取值后面必须为单词in,每一模式必须以右括号结束。取值可以为变量或常数。匹配发现取值符合某一模式后,其间所有命令开始执行直至 ;;。取值将检测匹配的每一个模式。一旦模式匹配,则执行完匹配模式相应命令后不再继续其他模式。如果无一匹配模式,使用星号 * 捕获该值,再执行后面的命令。
实例:

echo 'Input a number between 1 to 4'
echo 'Your number is:\c'
read aNum
case $aNum in
1)
echo 'You select 1'
;;
2)
echo 'You select 2'
;;
3)
echo 'You select 3'
;;
4)
echo 'You select 4'
;;
*)
echo 'You do not select a number between 1 to 4'
;;
esac
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息