1. 程式人生 > >Shell學習筆記-1-Shell變量

Shell學習筆記-1-Shell變量

com 表示 方法 str class 字符串拼接 成對出現 定義變量 string

參考:http://www.runoob.com/linux/linux-shell-variable.html


Shell變量


變量聲明

與其他不同,在初始化時=兩端不能有空格。

示例中使用的``是將``中指令的執行結果賦值給變量。同樣的,$()也可以達到相同的效果,但是更建議使用後者,混,煩。

同時參看eval:https://blog.csdn.net/qq_26768741/article/details/68062328


變量使用

使用一個定義過的變量,只要在變量名前面加美元符號即可,變量名外面的花括號是可選的,加不加都行,加花括號是為了幫助解釋器識別變量的邊界。

只有使用時才加$,其余情況即使是再賦值也不要加。

定義變量後,使用readonly+變量名聲明只讀。

使用unset+變量可以刪除變量。


shell字符串

使用一個定義過的變量,只要在變量名前面加美元符號即可,變量名外面的花括號是可選的,加不加都行,加花括號是為了幫助解釋器識別變量的邊界。

只有使用時才加$,其余情況即使是再賦值也不要加。

字符串可以用單引號,也可以用雙引號,也可以不用引號。單雙引號的區別跟PHP類似。【註意,這裏不用引號指的是中間沒有空格的情況】

單引號字符串的限制:

  • 單引號裏的任何字符都會原樣輸出,單引號字符串中的變量是無效的;【因此當echo的內容需要較多的轉義時,考慮‘’】
  • 單引號字串中不能出現單獨一個的單引號(對單引號使用轉義符後也不行),但可成對出現,作為字符串拼接使用。

雙引號的優點:

  • 雙引號裏可以有變量
  • 雙引號裏可以出現轉義字符

在這裏字符串的拼接不是用加號,而是直接鄰接即可。 【這裏直接相連,單引號,雙引號,變量可以混用】

echo ${#string} 字符串長度

echo ${string:1:4} 註意,第一個是起始位置,第二個是截取的長度,不是截止位置

?查找自字符串


shell數組

在 Shell 中,用括號來表示數組,數組元素用"空格"符號分割開。【註意,這個數組可以包含多種不同類型的元素】

取元素方法與大多語言一致。使用array[@]可以獲取全部元素。【使用@時,打印出來以空格分割】

長度:類似string,可以獲取單個元素,也可以獲取總個數${#string[@]}


shell註釋

單行註釋#

多行註釋:<<EOF/‘/! EOF/‘/!

Shell學習筆記-1-Shell變量