更新時間:2020-12-28 17:53:52 來源:動力節點 瀏覽1360次
Shell是一個命令解釋器,它解釋由用戶輸入的命令并且把它們送到內核。不僅如此,Shell有自己的編程語言用于對命令的編輯,它允許用戶編寫由shell命令組成的程序。同樣的,Linux系統中,shell作為編程語言也有自己的變量,本文我們就來為大家介紹Linux shell變量。
Linux Shell變量分為系統變量,自定義變量和位置變量。具體參考下文:
1.系統變量
$ # :保存程序命令行參數的數目
$ ?:保存前一個命令的返回碼
$ 0 :保存程序名
$ * :以("$1 $2...")的形式保存所有輸入的命令行參數
$ @ :以("$1""$2"...)的形式保存所有輸入的命令行參數
2.定義變量
shell語言是非類型的解釋型語言,不象用C++/JAVA語言編程時需要事先聲明變量.給一個變量賦值,實際上就是定義了變量.
在linux支持的所有shell中,都可以用賦值符號(=)為變量賦值.
如:
abc=9 (bash/pdksh不能在等號兩側留下空格)
set abc = 9 (tcsh/csh)
由于shell程序的變量是無類型的,所以用戶可以使用同一個變量時而存放字符時而存放整數.
如:
name=abc (bash/pdksh)
set name = abc (tcsh)
在變量賦值之后,只需在變量前面加一個$去引用.如:
echo $name
3.位置變量
當運行一個支持多個命令行參數的shell程序時,這些變量的值將分別存放在位置變量里.
其中第一個參數存放在位置變量1,第二個參數存放在位置變量2,依次類推...,shell保留
這些變量,不允許用戶以令外的方式定義他們.同別的變量,用$符號引用他們.
Linux shell變量是一種很“弱”的變量,默認情況下,一個變量保存一個串,shell不關心這個串是什么含義。所以若要進行數學運算,必須使用一些命令例如let、declare、expr、雙括號等。shell變量可分為兩類:局部變量和環境變量。局部變量只在創建它們的shell中可用。而環境變量則可以在創建它們的shell及其派生出來的任意子進程中使用。有些變量是用戶創建的,其他的則是專用shell變量。變量名必須以字母或下劃線字符開頭。其余的字符可以是字母、數字(0~9)或下劃線字符。任何其他的字符都標志著變量名的終止。名字是大小寫敏感的。給變量賦值時,等號周圍不能有任何空白符。為了給變量賦空值,可以在等號后跟一個換行符。用set命令可以查看所有的變量,unset var命令可以清除變量var,var相當于沒有定義過。readonly var可以把var變為只讀變量,定義之后不能對var進行任何更改。對shell變量的引用方式很多,用這些方式可以方便的獲取shell變量的值,變量值的長度,變量的一個字串,變量被部分替換后的值等等。
有Linux shell變量,那么同樣地就有shell函數。在Linux系統下的shell編程中可以定義函數。函數實際上也是由若干條shell命令組成的,因此它與shell程序形式上是相似的,不同的是它不是一個單獨的進程,而是shell程序的一部分。想要深入學習shell函數的小伙伴可以觀看本站的Linux教程,快速掌握shell編程知識。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習