亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

Chinaunix

標(biāo)題: 關(guān)于case的一個(gè)問(wèn)題 [打印本頁(yè)]

作者: bacon1001    時(shí)間: 2011-06-27 13:02
標(biāo)題: 關(guān)于case的一個(gè)問(wèn)題
現(xiàn)有這樣一個(gè)案例
  1. echo "1.install"
  2. echo "2.update"
  3. echo "please input your choices:"

  4. read answer

  5. case $answer in
  6. 1);;
  7. 2)update;;
  8. esac

  9. function 1 {
  10. ....}

  11. function  2 {
  12. ....}
  13. .
  14. .
  15. .
  16. .
  17. function update {
  18. .....}

  19. function 10 {
  20. ....}

  21. 1
  22. 2
  23. ...
  24. update
  25. 10

復(fù)制代碼
當(dāng)我選擇1的時(shí)候,會(huì)執(zhí)行所有的函數(shù),現(xiàn)在想問(wèn)的是,怎樣設(shè)置case中選擇2后,只運(yùn)行“update”這個(gè)函數(shù)。
作者: ly5066113    時(shí)間: 2011-06-27 13:07
邏輯有問(wèn)題,無(wú)論 case 做不做,后面的1、2 。。。 10 都會(huì)執(zhí)行。
如果選擇2后可以退出腳本,那么在2里面加個(gè) exit 就可以了。
作者: wtuter    時(shí)間: 2011-06-27 13:15
回復(fù) 1# bacon1001


    你的函數(shù)不是選擇1 的時(shí)候執(zhí)行的吧,而是最后執(zhí)行的
作者: bacon1001    時(shí)間: 2011-06-27 13:15
邏輯有問(wèn)題,無(wú)論 case 做不做,后面的1、2 。。。 10 都會(huì)執(zhí)行。
如果選擇2后可以退出腳本,那么在2里面加 ...
ly5066113 發(fā)表于 2011-06-27 13:07


敢問(wèn)有沒(méi)有其他辦法實(shí)現(xiàn)我要的效果。
作者: bacon1001    時(shí)間: 2011-06-27 13:17
本帖最后由 bacon1001 于 2011-06-27 13:18 編輯
回復(fù)  bacon1001


    你的函數(shù)不是選擇1 的時(shí)候執(zhí)行的吧,而是最后執(zhí)行的
wtuter 發(fā)表于 2011-06-27 13:15



    對(duì) 我居然懵了,呵呵,知錯(cuò)我就改,但是這也是一種障眼法,能達(dá)到目的就行了。
作者: bacon1001    時(shí)間: 2011-06-27 13:27
呼喚高手!
作者: jason680    時(shí)間: 2011-06-27 13:48
本帖最后由 jason680 于 2011-06-27 13:51 編輯
對(duì) 我居然懵了,呵呵,知錯(cuò)我就改,但是這也是一種障眼法,能達(dá)到目的就行了。
bacon1001 發(fā)表于 2011-06-27 13:17



是的,你的眼中有障礙....

你須要的不是障眼法...而是"清眼"法....

去掉你code中的27-31行就好了...
作者: ywlscpl    時(shí)間: 2011-06-27 13:56
2樓不是已經(jīng)給答案了嗎?
作者: jack1007    時(shí)間: 2011-06-27 14:01
你這個(gè)全錯(cuò)了啊,case里面,1是不做任何事情,2是只執(zhí)行update,但是,case之外,也就是case執(zhí)行完了之后,你把函數(shù)都執(zhí)行了一遍,這個(gè)case沒(méi)意義了。。。。
作者: yinyuemi    時(shí)間: 2011-06-27 14:08
回復(fù) 1# bacon1001

一個(gè)思路:
  1. cat case.sh
  2. echo "1.install"
  3. echo "2.update"
  4. echo "please input your choices:"
  5. read answer
  6. case $answer in
  7. 1) (f1; f2; f3) ;;
  8. 2) update ;;
  9. esac
  10. function f1 {
  11. echo "1"
  12. }
  13. function f2 {
  14. echo "2"
  15. }
  16. function f3 {
  17. echo "3"
  18. }
  19. function update {
  20. echo "update"
  21. }
復(fù)制代碼
  1. . case.sh
  2. 1.install
  3. 2.update
  4. please input your choices:
  5. 1
  6. 1
  7. 2
  8. 3

  9. . case.sh
  10. 1.install
  11. 2.update
  12. please input your choices:
  13. 2
  14. update
復(fù)制代碼

作者: bacon1001    時(shí)間: 2011-06-27 21:20
回復(fù) 7# jason680

謝謝 證實(shí)方法可行 受教了




歡迎光臨 Chinaunix (http://www.72891.cn/) Powered by Discuz! X3.2