Shell 从入门到精通 (五)流程控制(重点)

1 if 判断

1)基本语法

(1)单分支

if [ 条件判断式 ];then
程序
fi

 或者  

if [ 条件判断式 ]
then
程序
fi

 注意事项: ①[ 条件判断式 ],中括号和条件判断式之间必须有空格 ②if 后要有空格

1)案例实操 

     输入一个参数,如果该参数是xixi 则输出 welcome, xixi 如果是其他则什么也不输出。

#!/bin/bash


if [ "$1" = xixi ]
then
       echo "welcome, xixi"
fi

 (2)多分支  

复制代码
if [ 条件判断式 ]
then
程序
elif [ 条件判断式 ]
then
程序
else
程序
fi
复制代码

 1)案例实操

输入一个年龄,如果年龄小于18岁输出未成年人,小于35岁输出青年人,小于60岁输出中年人,其他输出老年人。

复制代码
# 输入第二个参数,表示年龄,判断属于哪个年龄段
if [ $2 -lt 18 ]
then

       echo "未成年人"

elif [ $2 -lt 35 ]
then
       echo "青年人"
elif [ $2 -lt 60 ]
then
       echo "中年人"
else
       echo "老年人"

fi
复制代码

 2 case 语句

1)基本语法

复制代码
case $变量名 in
"值 1")
如果变量的值等于值 1,则执行程序 1
;;
"值 2")
如果变量的值等于值 2,则执行程序 2
;;
…省略其他分支…
*)
如果变量的值都不是以上的值,则执行此程序
;;
esac
复制代码

 注意事项: (1)case 行尾必须为单词“in”,每一个模式匹配必须以右括号“)”结束。 (2)双分号“;;”表示命令序列结束,相当于 java 中的 break。 (3)最后的“*)”表示默认模式,相当于 java 中的 default。

1)案例实操

输入一个数字,如果是数字1 则输出one 数字2 则输出two 数字3 则输出three 其他则输出 number else

复制代码
#!/bin/bash

case  $1 in
1)

            echo "one"
;;
2)
            echo "two"
;;
3)
            echo "three"
;;
*)
            echo "number else"
;;
esac
复制代码

 

 

 
 

本文作者:KwFruit

本文链接:https://www.cnblogs.com/mangoubiubiu/p/16586385.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   KwFruit  阅读(64)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起