shell 是乙個用 c 語言編寫的程式,它是使用者使用 linux 的橋梁。shell 既是一種命令語言,又是一種程式語言。
shell 是指一種應用程式,這個應用程式提供了乙個介面,使用者通過這個介面訪問作業系統核心的服務。
ken thompson 的 sh 是第一種 unix shell,windows explorer 是乙個典型的圖形介面 shell。
1.建立s**件
開啟文字編輯器(可以使用 vi/vim 命令來建立檔案),新建乙個檔案 shell.sh,擴充套件名為 sh(sh代表shell),即使沒有副檔名也並不影響指令碼執行,見名知意就好,如果你用 php 寫 shell 指令碼,副檔名就用 php 好了。
擴:建立命令可以多種方式
(1) 使用cat命令 例:cat>>text.sh
(2) 使用vim命令 例:vim text.sh。在新視窗輸入i(編輯模式),輸入內容,按esc(切換回命令模式)輸入:wq( 儲存並 退出)
(3) 使用touch命令 (本命令不常用) 例:touch text.sh
我們這裡使用vim命令;
使用cat命令可檢視文字內容
2.執行shell指令碼
提示此資訊為沒有執行許可權。那麼我們給檔案加許可權
好,現在執行成功了。
**注:**一定要寫成 ./test.sh,而不是 test.sh,執行其它二進位制的程式也一樣,直接寫 test.sh,linux 系統會去 path 裡尋找有沒有叫 test.sh 的,而只有 /bin, /sbin, /usr/bin,/usr/sbin 等在 path 裡,你的當前目錄通常不在 path 裡,所以寫成 test.sh 是會找不到命令的,要用 ./test.sh 告訴系統說,就在當前目錄找。
3、變數
text=『seaiio』
注意,變數名和等號之間不能有空格,這可能和你熟悉的所有程式語言都不一樣。同時,變數名的命名須遵循如下規則:
(1) 命名只能使用英文本母,數字和下劃線,首個字元不能以數字開頭。
(2) 中間不能有空格,可以使用下劃線(_)。
(3) 不能使用標點符號。
(4) 不能使用bash裡的關鍵字(可用help命令檢視保留關鍵字)。
使用變數時,只要在變數名前面加美元符號即可,如:test=『seaiio』; echo $test
4、字串
字串是shell程式設計中最常用最有用的資料型別(除了數字和字串,也沒啥其它型別好用了),字串可以用單引號,也可以用雙引號,也可以不用引號。單雙引號的區別跟php類似。
單引號字串的限制:
單引號裡的任何字元都會原樣輸出,單引號字串中的變數是無效的;
單引號字串中不能出現單獨乙個的單引號(對單引號使用轉義符後也不行),但可成對出現,作為字串拼接使用。
雙引號的優點:
雙引號裡可以有變數
雙引號裡可以出現轉義字元
例:
輸出字串個數
demo='hellow';
echo $
結果
6
5、陣列
#!/bin/bash
demo[1]='1'
demo[2]='2'
demo[3]='3'
length=$ #獲得陣列長度
echo $length
echo $ #獲得陣列元素
shell命令學習(一)
shell命令學習之for for 變數 in 值 do宣告 done 例子 for a in a b x do echo a done 輸出 abx while do 命令學習 bin sh echo 請輸入密碼 read trythis while trythis s do echo sorry...
簡單的一些shell指令碼學習 Unix命令列程式
學習 whoami 用途 顯示 登入名。解釋 與使用命令 who 並指定 am i 不同,whoami 命令在有 root 使用者許可權時也有效,因為它不檢查 etc utmp 檔案。date 用途 顯示和設定系統日期和時間。格式 date 選項 顯示時間格式 以 開頭,後面接格式 date 設定時...
shell指令碼簡單命令
shell 命令直譯器 處於系統核心和使用者之間負責解釋命令列的 登入之後預設的shell程式是 bin bash 不同的shell內部指令,執行環境會有所區別 常見的shell bin sh bin bash sbin nologin bin bash 是指這個指令碼是用 bin bash來解釋執...