天天看點

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_ 是一個有效的變量名,進而引用。

是以,大多數變量下直接使用 $ 就可以,而在一些特殊情況下最好使用${} 的方式,那不如我們現在養成一個習慣,引用變量就使用 ${} 的方式最好

文章轉載于馬哥教育官網:http://www.magedu.com/83991.html