shell—– 條件選擇 if && case

來源:互聯網
上載者:User

1 if

#!/bin/bashecho "Please chose your favourite fruit:";select fruit in "apple" "orange" "banana" "none";dobreak;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中的case同C/C++中的switch結構是相同的.它允許通過判斷來選擇代碼塊中多條路徑中的一條。

case"$variable" in

"$condition1")

command...

;;

"$condition1")

command...

;;

esac

注意:對變數使用""並不是強制的,因為不會發生單詞分離.

每句測試行,都以右小括弧)結尾.

每個條件塊都以兩個分號結尾;;.

case塊的結束以esac(case的反向拼字)結尾。


#!/bin/bashecho "Please chose your favourite fruit:"select fruit in "apple" "orange" "banana" "none"dobreakdonecase "$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!

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.