shell入門第六講
1、自定義變量
1.1、變量賦值
變量賦值我們要使用到 = 這個運算符,比如我們前面講過的給NUM變量賦值。
bash [root@localhost ~]# NUM=666
這樣我們就完成了一個簡單的賦值操作,我們也可以賦值字符串等等,比如
bash [root@localhost ~]# VAR="how are you"
我們將一字符串賦值給一個變量VAR中,建議如果數據中包含有空格符號等,最好使用雙引號引起來。
1.2、變量引用
把數據賦值給一個變量中,我們最終的目的是為了引用變量值,引用變量我們使用 ${} 這樣的方式來使用,比如
bash [root@localhost ~]# echo ${NUM} 666
echo命令在這里僅僅起到打印變量值的作用,我們數據已經賦值給NUM變量了,而echo就是把變量值給打印出來。
引用VAR變量的值
bash [root@localhost ~]# echo ${VAR} how are you
當然,也可以直接使用 $ 來引用變量值,不過我們仍然建議使用 ${} 這樣的方式來引用。
bash [root@localhost ~]# echo $VAR how are you
1.3、字符串拼接
熟悉簡單python基礎的同學都知道python的字符串拼接特別的方便,那么在shell里面也可以使用此功能,比如
bash [root@localhost ~]# echo ${NUM}888 666888
我們原來NUM值是666,然后后面添加上888,就起到了一個字串拼接的功能。而VAR變量也可以這么做,比如:
bash [root@localhost ~]# echo ${VAR}"? I am fine,Thank you" how are you? I am fine,Thank you
對于包含空格的字串,我們一定要加上引號(雙引號和單引號都可以,當然兩者有簡單的使用區別)。
1.4、注意事項
我們建議使用 ${} 的方式引用變量,但是大多數同學習慣直接使用 $ 來引用變量,這有什么區別呢?
bash [root@localhost ~]# echo $NUM888 # 此行是空值 [root@localhost ~]# echo ${NUM}888 666888
這是因為shell把 NUM888 這個整體當成了一個變量來對待,而我們并沒有給NUM888做賦值操作,因此為空。
與個別特殊字符也是如此,比如變量后面加上一個下劃線。bash [root@localhost ~]# echo $NUM_
變量命名規則中下劃線是可以使用的,因此他會認為 NUM_ 是一個有效的變量名,從而引用。
因此,大多數變量下直接使用 $ 就可以,而在一些特殊情況下最好使用${} 的方式,那不如我們現在養成一個習慣,引用變量就使用 ${} 的方式最好了。