国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

linux case語(yǔ)句

2019-11-11 05:39:37
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

http://blog.csdn.net/dreamtdp/article/details/8048720

case語(yǔ)句使用于需要進(jìn)行多重分支的應(yīng)用情況

格式:

復(fù)制代碼
case $變量名 in 模式1) 命令序列1 ;; 模式2) 命令序列2 ;;  *) 默認(rèn)執(zhí)行的命令序列      ;; esac 復(fù)制代碼
1 
復(fù)制代碼
case語(yǔ)句結(jié)構(gòu)特點(diǎn)如下:case行尾必須為單詞 in 每個(gè)模式必須以右括號(hào) ) 結(jié)束雙分號(hào) ;; 表示命令序列結(jié)束case語(yǔ)句結(jié)構(gòu)特點(diǎn)如下:匹配模式中可是使用方括號(hào)表示一個(gè)連續(xù)的范圍,如[0-9];使用豎杠符號(hào)“|”表示或。最后的“*)”表示默認(rèn)模式,當(dāng)使用前面的各種模式均無(wú)法匹配該變量時(shí),將執(zhí)行“*)”后的命令序列。復(fù)制代碼

case語(yǔ)句實(shí)例:由用戶(hù)從鍵盤(pán)輸入一個(gè)字符,并判斷該字符是否為字母、數(shù)字或者其他字符, 并輸出相應(yīng)的提示信息。

復(fù)制代碼
#!/bin/bashread -p "PRess some key ,then press return :" KEYcase $KEY in[a-z]|[A-Z])echo "It's a letter.";;[0-9]) echo "It's a digit.";;*)echo "It's function keys、Spacebar or other ksys."esac復(fù)制代碼

######################################################

 

case Word in [ pattern [ | pattern ] ... ) list ;; ] ... esac case/esac的標(biāo)準(zhǔn)用法大致如下:  case $arg in      pattern | sample) # arg in pattern or sample      ;;      pattern1) # arg in pattern1      ;;      *) #default      ;;  esac  arg是您所引入的參數(shù),如果arg內(nèi)容符合pattern項(xiàng)目的話(huà),那麼便會(huì)執(zhí)行pattern以下的程式碼,而該段程式碼則以?xún)蓚€(gè)分號(hào)";;"做結(jié)尾。  可以注意到"case"及"esac"是對(duì)稱(chēng)的,如果記不起來(lái)的話(huà),把"case"顛倒過(guò)來(lái)即可。 

 例一 : paranoia

#!/bin/shcase $1 in        start | begin)          echo "start something"        ;;        stop | end)          echo "stop something"        ;;        *)          echo "Ignorant"        ;;esac

$1....http://www.cnblogs.com/sj521/p/5810287.html

 執(zhí)行 [foxman@foxman bash]# chmod 755 paranoia  [foxman@foxman bash]# ./paranoia  Ignorant  [foxman@foxman bash]# ./paranoia start  start something  [foxman@foxman bash]# ./paranoia begin  start something  [foxman@foxman bash]# ./paranoia stop  stop something  [foxman@foxman bash]# ./paranoia end  stop something   

 

例二 : inetpanel 許多的daemon都會(huì)附上一個(gè)管理用的Shell Script,像BIND就附上ndc,Apache就附上apachectl。這些管理程式都是用shell script來(lái)寫(xiě)的,以下示一個(gè)管理inetd的shell script。

復(fù)制代碼
 #!/bin/sh  case $1 in      start | begin | commence)         /usr/sbin/inetd      ;;      stop | end | destroy)         killall inetd      ;;      restart | again)         killall -HUP inetd      ;;      *)         echo "usage: inetpanel [start | begin | commence | stop | end | destory | restart | again]"      ;;  esac 復(fù)制代碼

例三 : 判斷系統(tǒng) 有時(shí)候,您所寫(xiě)的Script可能會(huì)跨越好幾種平臺(tái),如linux、FreeBSD、Solaris等等,而各平臺(tái)之間,多多少少都有不同之處,有時(shí)候需要判斷目前正在那一種平臺(tái)上執(zhí)行。此時(shí),我們可以利用uname來(lái)找出系統(tǒng)資訊。

復(fù)制代碼
 #!/bin/sh  SYSTEM=`uname -s`  case $SYSTEM in      Linux)          echo "My system is Linux"          echo "Do Linux stuff here..."      ;;      FreeBSD)          echo "My system is FreeBSD"          echo "Do FreeBSD stuff here..."      ;;      *)          echo "Unknown system : $SYSTEM"          echo "I don't what to do..."      ;;  esac
上一篇:QTreeWidget

下一篇:幾個(gè)小總結(jié)

發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 蕉岭县| 乐亭县| 雅安市| 马关县| 宁远县| 白城市| 大关县| 榆社县| 咸宁市| 马公市| 太仆寺旗| 绥德县| 桃源县| 和林格尔县| 新源县| 饶平县| 固始县| 汶川县| 东光县| 石狮市| 陇南市| 永年县| 西畴县| 新龙县| 团风县| 清苑县| 东乌珠穆沁旗| 九寨沟县| 汝州市| 山阴县| 芒康县| 喀什市| 南平市| 京山县| 略阳县| 绥德县| 石棉县| 连江县| 安泽县| 双柏县| 呼玛县|