全文剖析Shell本地變量的知識點
阿新 • • 發佈:2018-12-25
反引號 所見 def 用法 腳本 字符串 下劃線 連接 其他 一、本地變量
1、使用場景:本地變量在用戶當前shell生存期的腳本中使用
2、定義賦值的幾種方式:
1、使用場景:本地變量在用戶當前shell生存期的腳本中使用
2、定義賦值的幾種方式:
變量名=值 #賦值時不加引號 變量名=‘值’ #賦值時加單引號 變量名=“值” #賦值時加雙引號
3、定義變量名以及賦值時的要求
變量名:一般是字母、數字、下劃線組成,可以以字母或者下劃線開頭,不能以數字開頭,建議采用駝峰語法來編輯變量名(即當變量名是多個單詞時,除了第一個單詞首字母是小寫,其他單詞的首字母都是大寫)
賦值:可以用單引號、雙引號以及不加任何引號,但是三者的含義是不同的
4、三種賦值方式的不同之處
無引號 :賦值時,
如果值中有空格,則會造成賦值失敗 如果值中有命令、其他變量,則會先把命令和變量解析後再輸出 如果字符串中帶有空格等特殊字符,則會賦值失敗
單引號:賦值時,
所見即所得,即輸出時會將單引號內的所有內容按原樣輸出,就是你看到什麽就輸出什麽,被稱為“強引用”
雙引號:賦值時,
輸出雙引號內的室友內容 如果值中有命令、其他變量、特殊轉移符等,會先把前三者解析出來再輸出,是??推薦的用法??,被稱為“弱引用”
反引號:順帶說一下,反引號用法。一般用於引用命令,執行的時候命令會被執行,但是一般不推薦用反引號引用命令的方式,而是推薦用 $() 這樣的方式來引用命令。
5、變量定義以及賦值經驗小結
1)若變量內容為連續的數字或者字符串,賦值時,可不加任何引號,例如:abc=123
2)若變量的內容很多時,且有空格和希望被解析的變量,就必須使用雙引號,例如:abc="/etc/rc.local $USER"
3)若希望原樣輸出變量中的內容時必須采用單引號進行復制,例如:abc=‘$USER‘
4)若要引用命令,則用反引號把賦值的命令反引起來,但是建議用$()的方式,而不是反引號,例如:abc=ls
abc=$(ls)
5)使用“echo $變量名”即可以輸出變量的內容,也可以用printf代替echo輸出更復雜的格式內容
6)當變量後面連接有其他字符的時候,必須給變量加上大括號{},例如:${abc}_def
7)沒有特殊要求時,一律使用雙引號
6、三劍客(grep/awk/sed)取用Shell變量時的特殊用法
grep:按前面的正常用法
sed:按前面的正常用法
awk:??不能按前面的正常用法??,awk取用shell變量時的格式例子:NB="dabiaoge" echo "$NB" | awk ‘{print $0}‘ echo ‘$NB‘ | awk ‘{print $0}‘ echo $NB | awk ‘{print $0}‘ NB=`pwd` 或者 NB=$(pwd) echo "$NB" | awk ‘{print $0}‘ echo ‘$NB‘ | awk ‘{print $0}‘ echo $NB | awk ‘{print $0}‘
二、我是大表哥,我為自己帶鹽,以後會不定時更新,請支持正版,盜鏈可恥
我的博客是:http://blog.51cto.com
各位朋友有什麽不懂以及認為有什麽錯誤之處,請在下方留言,謝謝!
全文剖析Shell本地變量的知識點