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

首頁 > 學院 > 開發設計 > 正文

linux case語句

2019-11-11 05:04:57
字體:
來源:轉載
供稿:網友

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

case語句使用于需要進行多重分支的應用情況

格式:

復制代碼
case $變量名 in 模式1) 命令序列1 ;; 模式2) 命令序列2 ;;  *) 默認執行的命令序列      ;; esac 復制代碼
1 
復制代碼
case語句結構特點如下:case行尾必須為單詞 in 每個模式必須以右括號 ) 結束雙分號 ;; 表示命令序列結束case語句結構特點如下:匹配模式中可是使用方括號表示一個連續的范圍,如[0-9];使用豎杠符號“|”表示或。最后的“*)”表示默認模式,當使用前面的各種模式均無法匹配該變量時,將執行“*)”后的命令序列。復制代碼

case語句實例:由用戶從鍵盤輸入一個字符,并判斷該字符是否為字母、數字或者其他字符, 并輸出相應的提示信息。

復制代碼
#!/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復制代碼

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

 

case Word in [ pattern [ | pattern ] ... ) list ;; ] ... esac case/esac的標準用法大致如下:  case $arg in      pattern | sample) # arg in pattern or sample      ;;      pattern1) # arg in pattern1      ;;      *) #default      ;;  esac  arg是您所引入的參數,如果arg內容符合pattern項目的話,那麼便會執行pattern以下的程式碼,而該段程式碼則以兩個分號";;"做結尾。  可以注意到"case"及"esac"是對稱的,如果記不起來的話,把"case"顛倒過來即可。 

 例一 : 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

 執行 [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都會附上一個管理用的Shell Script,像BIND就附上ndc,Apache就附上apachectl。這些管理程式都是用shell script來寫的,以下示一個管理inetd的shell script。

復制代碼
 #!/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 復制代碼

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

復制代碼
 #!/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
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 北京市| 上杭县| 葫芦岛市| 丰宁| 祁连县| 临西县| 莱州市| 类乌齐县| 高邮市| 尼玛县| 曲阳县| 夏河县| 抚远县| 淳化县| 岑溪市| 丹东市| 兖州市| 昌平区| 双牌县| 成武县| 中西区| 云林县| 浑源县| 福贡县| 内乡县| 太仓市| 临江市| 石家庄市| 江油市| 岑巩县| 神农架林区| 安国市| 巴林左旗| 高唐县| 青浦区| 宣汉县| 田林县| 十堰市| 邯郸县| 米脂县| 北票市|