1. 程式人生 > >linux系統學習筆記——shell變數

linux系統學習筆記——shell變數

差不多適應了新的工作,在找工作的過程中很多要求會linux,所以前段時間自己在電腦上上裝了window10+linux雙系統想系統性的學習一下Linux。現在開始吧
雙系統教程:https://blog.csdn.net/qq_27790011/article/details/79496373
Linux學習教程:http://billie66.github.io/TLCL/book/index.html

什麼是shell

Shell 是一個用 C 語言編寫的程式,它是使用者使用 Linux 的橋樑。Shell 既是一種命令語言,又是一種程式設計語言。
Shell 是指一種應用程式,這個應用程式提供了一個介面,使用者通過這個介面訪問作業系統核心的服務。
Ken Thompson 的 sh 是第一種 Unix Shell,Windows Explorer 是一個典型的圖形介面 Shell。

shell 變數

變數名和等號之間不能有空格,這可能和你熟悉的所有程式語言都不一樣。同時,變數名的命名須遵循如下規則:

命名只能使用英文字母,數字和下劃線,首個字元不能以數字開頭。
中間不能有空格,可以使用下劃線(_)。
不能使用標點符號。
不能使用bash裡的關鍵字(可用help命令檢視保留關鍵字)。
有效變數名:RUNOOB ,LD_LIBRARY_PATH,_var, var2
無效變數名:?var=123 , user*name=runoob

變數型別
執行shell時,會同時存在三種變數:
1) 區域性變數 區域性變數在指令碼或命令中定義,僅在當前shell例項中有效,其他shell啟動的程式不能訪問區域性變數。
2) 環境變數 所有的程式,包括shell啟動的程式,都能訪問環境變數,有些程式需要環境變數來保證其正常執行。必要的時候shell指令碼也可以定義環境變數。
3) shell變數 shell變數是由shell程式設定的特殊變數。shell變數中有一部分是環境變數,有一部分是區域性變數,這些變數保證了shell的正常執行

Shell 字串

字串是shell程式設計中最常用最有用的資料型別(除了數字和字串,也沒啥其它型別好用了),字串可以用單引號,也可以用雙引號,也可以不用引號。單雙引號的區別跟PHP類似
單引號 : str=’this is a string’
單引號字串的限制:
單引號裡的任何字元都會原樣輸出,單引號字串中的變數是無效的;
單引號字串中不能出現單引號(對單引號使用轉義符後也不行)

雙引號
your_name=’qinjx’
str=”Hello, I know your are \”$your_name\”! \n”
雙引號的優點:
雙引號裡可以有變數
雙引號裡可以出現轉義字元