小鳥初學Shell程式設計(六)變數賦值

2022-01-10 01:09:35 字數 2426 閱讀 2336

我們在使用linux命令或指令碼的時候,會有一些輸出,那麼這些輸出的資訊可以用變數臨時儲存,以備我們下一條命令或指令碼使用。

變數的定義建議用乙個有意義的英文單詞來代表變數,不要使用簡單的字母ab這類的變數名定義。因為我們寫好shell指令碼實際上是要給人看的,所以我們定義好的變數,是希望變數有具體的含義,能讓閱讀shell指令碼人能輕鬆的明白。

變數的命名規則:

為變數賦值的過程,稱為變數替換

shell指令碼裡變數是不區分變數型別的

變數賦值的規則:變數名=變數值

var=123

注意:賦值的等號左邊右邊是不能有空格的,如果出現空格那麼執行的時候回進行報錯

[root@lincoding ~]# var=123

[root@lincoding ~]#

[root@lincoding ~]# var =123

-bash: var: command not found

[root@lincoding ~]# var = 123

-bash: var: command not found

因為出現空格,shell會認為前面的是命令而不是變數

使用let為變數賦值

[root@lincoding ~]# let num=10+10

[root@lincoding ~]# echo $num

20

let可以做簡單的數字運算

將命令賦值給變數

[root@lincoding ~]# ls_cmd=ls

[root@lincoding ~]# $

anaconda-ks.cfg install.log install.log.syslog

還可以使用把命令賦值給變數,在使用變數的時候,相當於執行命令

將命令結果賦值給變數,使用$()或者``

[root@lincoding ~]# file_list=$(ls /tmp)

[root@lincoding ~]# echo $

pear yum.log

[root@lincoding ~]# file_list=`ls /tmp`

[root@lincoding ~]# echo $

pear yum.log

使用這種方式的好處,就是避免重複執行相同命令,增加伺服器的開銷,而是只執行一次命令,並把命令的結果儲存到變數,做下一步的使用

變數值有空格等特殊字元可以包含在雙引號""和單引號''

[root@lincoding ~]# var="1 2 3"

[root@lincoding ~]# echo $var

1 2 3

[root@lincoding ~]# var='a b c'

[root@lincoding ~]# echo $var

a b c

當字串需要雙引號時,需要用單引號來定義字串

[root@lincoding ~]# var='"a" "b" "c"'

[root@lincoding ~]# echo $var

"a" "b" "c"

當字串需要單引號時,需要用雙引號來定義字串

[root@lincoding ~]# var="'a' 'b' 'c'"

[root@lincoding ~]# echo $var

'a' 'b' 'c'

雙引號和單引號還有個區別,就是單引號裡字串不管是特殊字元都會被解釋成普通的字串

[root@lincoding ~]# string="$ , shell"

[root@lincoding ~]# echo $string

hello , shell

[root@lincoding ~]# string='$ , shell'

[root@lincoding ~]# echo $string

$ , shell

在shell裡變數的定義是不需要定義型別的,變數賦值的時候等號兩邊不能有空格,變數可以賦值linux的命令,也可以賦值執行linux命令返回的結果輸出內容,也可以做簡單的數字計算,並雙引號和單引號定義的字串是有一定的區別的,單引號定義的字串都會被解釋成普通的字串,不管是否有特殊字元。

小鳥初學Shell程式設計(七)變數引用及作用範圍

那麼定義好變數,如何列印變數的值呢?舉例下變數引用的方式。root lincoding string hello shell root lincoding echo hello shell root lincoding echo string hello shell 那麼有花括號括起來的變數和沒有花...

小鳥初學Shell程式設計(九)環境變數變數配置檔案

環境變數主要儲存在以下四個檔案和乙個目錄中 儲存在 etc 目錄下的配置檔案,都是所有使用者通用的配置,就是不管是root使用者還是普通使用者。儲存在 使用者家目錄的配置檔案,是儲存特定使用者的配置,例如在某些環境只有root使用者才可使用。在重新開啟新的終端或切換不同使用者時,配置檔案的載入順序是...

小鳥初學Shell程式設計(五)輸入輸出重定向

乙個程序缺省會開啟標準輸入 標準輸出 錯誤輸出三個檔案描述符。重定向可以讓我們的程式的標準輸出 錯誤輸出的資訊重定向檔案裡,那麼這裡還可以將檔案的內容代替鍵盤作為一種標準輸入的方式。01 輸入重定向符號 的作用 會把檔案的內容當做引數輸入到程序,如下例子 root omp120 home cat f...