我們在使用linux命令或指令碼的時候,會有一些輸出,那麼這些輸出的資訊可以用變數
臨時儲存,以備我們下一條命令或指令碼使用。
變數的定義建議用乙個有意義的英文單詞來代表變數,不要使用簡單的字母a
,b
這類的變數名定義。因為我們寫好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...