shell變數不需要進行任何宣告,直接定義即可,因為shell變數的值實際上都是字串(對於沒有定義的變數預設是乙個空串)。定義的時候shell變數由大寫字母加下劃線組成,並且定義的時候等號兩邊不能存在空格,否則會被認為是命令!
shell變數的種類:
利用printenv可以顯示當前shell程序的環境變數;利用set命令可以顯示當前shell程序中的定義的所有變數(包括環境變數和本地變數)和函式。
乙個shell變數定義後僅存在於當前shell程序,是乙個本地變數。用export命令可以把本地變數匯出為環境變數。用unset命令可以刪除已定義的環境變數或本地變數。
例如:1
2
3
4
5
6
7
8
9
//
分步 先定義後匯出
count=5
export
count
//
一步完成定義和匯出環境變數
export
count=5
//
刪除已經定義的環境變數
unset
count
變數引用:
引用shell變數要用到$符號,加{}可以防止歧義。
例如:1
1.常見的萬用字元:
* : 匹配0個或多個任意字元
? : 匹配乙個任意字元
[若干字元] : 匹配方括號中任意乙個字元的一次出現
2.命令代換:
反引號`` 或者 $()
shell會先執行反引號或$()中的命令,將結果代換到當前命令列中!
反引號和$()的區別:
反引號本身就對\進行了轉義,保留了本身意思,如果我們想在反引號中起到\的特殊意義,我們必須使用2個\來進行表示。
反引號中: \\ = \
$()中:\ = \
注意:反引號是老的用法,
的用法,
不管是在
學習測試
中,還是
在實際工
作中, ()是新的用法,不管是在學習測試中,還是在實際工作中,
()的用法都是被推薦的。
算數代換:$(())
例如:將2-1的結果賦給sub,並顯示本地變數sub
1
2
sub=$((2-1))
echo
$sub
3.單引號和雙引號
shell指令碼中的單引號和雙引號一樣都是字串的界定符,單引號用於保持引號內所有字元的字面值,而雙引號有些情況則特殊。如果字串中有特殊字元需要處理時就用雙引號。
注:單引號標註的字元中不能再出現單引號。
舉個栗子:
總結一下,反引號和括號一樣都是會先執行符號內的操作再將結果替換到當前命令列中,現在一般都是使用括號!符號內出現運算時,需要雙層括號,最裡層括號做運算,外層括號實現替換到命令列的作用。反引號中的 / 就表示 / 這個字元,可以直接顯示,括號中 / 則表示了特殊意義,如果要顯示 / 這個字元,需要用 // 表示,這一點反引號與單引號相同。
單引號裡的所有符號就只是字面的意思,若顯示的話直接顯示自身,雙引號則會對特殊字元進行轉換。
shell指令碼入門 符號篇
shell就是乙個命令列直譯器,它的作用是解釋執行使用者的命令,使用者輸入一條命令,shell就解釋執行一條,這種方式稱為互動式 interactive shell還有一種執行命令的方式稱為批處理 batch 使用者事先寫一 個shell指令碼 script 其中有很多條命令,讓shell一次把這些...
shell指令碼學習 入門
shell指令碼 乙個簡單的shell指令碼 shell指令碼 位於第一行的 shell指令碼 shell的基本元素 1 命令與引數 shell指令碼 shell的基本元素 2 變數 shell指令碼 shell的基本元素 3 簡單的echo輸出 shell指令碼 shell的基本元素 4 華麗的p...
Shell指令碼入門學習
本文 尚矽谷老師主講的shell部分 最近學習並記錄如下 筆記 58條訊息 筆記 shell程式設計 尚矽谷大資料技術之shell jacksondemo的部落格 csdn部落格 尚矽谷大資料技術之shell 58條訊息 shell筆記 doordiey的部落格 csdn部落格 尚矽谷 shell指...