shell----- 条件选择 if && case

1 if

#!/bin/bash

echo "Please chose your favourite fruit:";
select fruit in "apple" "orange" "banana" "none";
do
break;
done;

if [ $fruit == "apple" ] 
   then echo "you like apple!"
elif [ $fruit == "orange" ]
   then echo "you like orange!"
elif [ $fruit == "banana" ]
   then echo "you like banana!"
else
    echo "you dont like all this!"
fi



注意:

1  

if [ $fruit == "apple" ] 
   then echo "you like apple!"
这个每一句话后面都可以加  ;  ,加上 ;  后的好处是,这两句话都写到一行里也不会有错误。

但是还是习惯空行比较好,空行后,就不用加  ;  也OK 拉~~

2

if  与 [ 之间要空格。。。。

[ 与后面那个字符之间也要空格, ] 与前面那个字符之间也要空格。。。

3

select fruit in "apple" "orange" "banana" "none"
do
break
done


这个是选择的,输入数字选择,然后变量 fruit = apple 了。。。

root@vivi-Ideapad-Z460:~# ./myshell.sh
Please chose your favourite fruit:
1) apple
2) orange
3) banana
4) none
#? 2
you like orange!


===================

嵌套:

if [ commond ]

  then  if [ commond2 ]

                then   doSomething

             fi

 fi


====================================================================================\

2 case


shell中的caseC/C++中的switch结构是相同的.它允许通过判断来选择代码块中多条路径中的一条。

case"$variable" in

"$condition1")

command...

;;

"$condition1")

command...

;;

esac

注意:对变量使用""并不是强制的,因为不会发生单词分离.

每句测试行,都以右小括号)结尾.

每个条件块都以两个分号结尾;;.

case块的结束以esac(case的反向拼写)结尾。



#!/bin/bash

echo "Please chose your favourite fruit:"
select fruit in "apple" "orange" "banana" "none"
do
break
done

case "$fruit" in
"apple")
  echo "you like apple!";;
"orange")
  echo "you like orange!";;
"banana")
 echo "you like banana!";;
"other")
echo "you dont like all this!";;
esac


对变量不使用 ""  变量颜色看着不舒服。。。

每个条件块都以两个分号结尾;;  ========这个我没有,貌似没有报错。。。

root@vivi-Ideapad-Z460:~# ./myshell.sh
Please chose your favourite fruit:
1) apple
2) orange
3) banana
4) none
#? 3
you like banana!



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值