case/esac分支語句就類似於c語言的switch case 分支語句,但是呢語法又有些不同我們先來看乙個簡單的例子
然後我們再來講解一下各個 關鍵字元 或者關鍵字的含義
這裡read yes_or_no等待使用者輸入乙個字串(程序阻塞), 然後 case 「$yes_or_no」 in
這個 in 表示 在那條分支。
」 )"表示 條件結束。
「;;」 表示 分支的處理結束 相當於 c語言中 switch case 中的 break,來實現跳出switch語句
第乙個分支:yes, y, yes, yes單詞中的乙個 , 「|」 表示或者的意思
第二個分支:[nn]* 表示 以n或者n開頭的單詞 前面我們已經將來 [ ]這個萬用字元的意思了這裡就不多說了
講到了這裡 我們不經意的想到 我們學這些東西有什麼用,可以用在**呢?
我們找到 /etc/init.d/ssh的簡本檔案,開啟來看看 分支的運用
我們可以看見 shell就是用來實現簡單的載入或執行。。。等其他的功能,多以shell指令碼的**不會像工程一樣, 一般都不會很長
一般都是不超過兩百多行,經典的makefile也是 shell指令碼的一種(後續我們將詳細講解makefile 的編寫)
來一起討論
shell 之 case。。。esac多分支選擇
case分支屬於匹配執行的方式,它針對指定的變數預先設定乙個可能的取值,判斷該變數的實際取值是否與預設的某乙個值相匹配,如果匹配上了,就執行相應的一組操作,如果沒有任何值能夠匹配,就執行預先設定的預設操作。語法 case 變數值 in 模式1 命令序列1 模式2 命令序列2 預設命令序列 esac ...
Shell程式設計 shell特性
linux會預設記錄1000條歷史記錄,可通過 echo histsize 檢視,如果講histsize更改為2000,那麼會預設儲存2000條。1000條記錄儲存在家目錄的 bash history 中,僅當使用者正常退出當前shell時,當前shell中執行的命令才會儲存到 bash histo...
Shell程式設計 Shell函式
shell函式 1.將命令序列按格寫在一起 2.可方便重複使用命令序列 3.shell函式定義 function 函式名 4.呼叫函式的方法 函式名 引數1 引數2 5.shell函式應用示例 1 兩個數字求和 要求 通過sum 定義函式 兩個數求和 方法一 root localhost vim d...