shell語法之變數的使用

2021-06-09 23:58:39 字數 1166 閱讀 5371

1  變數

在shell裡,使用變數之前通常並不需要事先為它們做出宣告。你只是通過使用它們(比如當你給它們賦初始值時)來建立它們。在預設情況下,所有變數都被看做字串來儲存,即使它們被賦值為數值時也是如此。shell和一些工具程式會在需要時把數值型字串轉換為對應的數值以對它們進行操作。linux是乙個區分大小寫的系統,因此shell認為變數foo與foo是不同的,而這兩者與foo又是不同的。

在shell中,你可以通過在變數名前加乙個$符號來訪問它的內容。無論何時你想要獲取變數內容,你都必須在它前面加乙個$字元。當你為變數賦值時,你只需要使用變數名,該變數會根據需要被自動建立。一種檢查變數內容的簡單方式就是在變數名前加乙個$符號,再用echo命令將它的內容輸出到終端上。

在命令列上,你可以通過設定和檢查變數salutation的不同值來實際檢視變數的使用:

$ salutation=hello

$ echo $salutation

hello

$ salutation="yes dear"

$ echo $salutation

yes dear

$ salutation=7+5

$ echo $salutation

7+5注意,如果字串裡包含空格,就必須用引號把它們括起來。此外,等號兩邊不能有空格。

你可以使用read命令將使用者的輸入賦值給乙個變數。這個命令需要乙個引數,即準備讀入使用者輸入資料的變數名,然後它會等待使用者輸入資料。通常情況下,在使用者按下回車鍵時,read命令結束。當從終端上讀取乙個變數時,你一般不需要使用引號,如下所示:

$ read salutation

wie geht's?

$ echo $salutation

wie geht's?

一般情況下,指令碼檔案中的引數以空白字元分隔(例如,乙個空格、乙個製表符或者乙個換行符)。如果你想在乙個引數中包含乙個或多個空白字元,你就必須給引數加上引號。

像$foo這樣的變數在引號中的行為取決於你所使用的引號型別。如果你把乙個$變數表示式放在雙引號中,程式執行到這一行時就會把變數替換為它的值;如果你把它放在單引號中,就不會發生替換現象。你還可以通過在$字元前面加上乙個\字元以取消它的特殊含義。

字串通常都被放在雙引號中,以防止變數被空白字元分開,同時又允許$擴充套件。

未完待續.......

shell語法之變數定義

原始碼 bin bash file by 一般 表示注釋,除了第一行 echo hello world 輸出內容 a 10 如果寫成 a 10 則變數定義會失敗 a command not found echo aecho pwd 當前檔案路徑 echo echo 0 當前程式的名稱 echo 1 ...

繼續分享shell 之變數使用

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

Shell之變數操作

1.定義變數 為了避免與環境變數衝突,一般用小寫 如pp mydql,kdkfeof 第二賦值方案 呼叫變數使用 符號 變數疊加 2.輸出採用echo,如上圖所示 3.變數分類 自定義變數和環境變數。4.檢視 set 檢視所有變數及其值 5.刪除變數 unset 變數名,如 6.作用範圍 自定義變數...