問:爲什麼要用引號?
答:變量值出現空格時,比如 name=xiao ming 這樣執行就會出現問題,而必須用引號括起來,比如 name=“xiao ming”。
反引號
` 是反引號是在ESC鍵下面的,反引號代表引用linux的命令。爲了防止混淆或 POSIX 規範的角度來說,儘量使用 $(命令) 的方式來引用linux命令的輸出,而不要使用反引號。
下面2行輸出結果是一樣的
echo $(date)
echo `date`
下面2行輸出結果是一樣的
echo $(expr 1 + 1)
echo `expr 1 + 1`
單引號
被單引號括起來的字符都是普通字符,就算特殊字符也不再有特殊含義;
雙引號
被雙引號括起來的字符中,$、\、反引號 有特殊含義。
$代表引用變量值,\代表轉義字符,反引號代表引用linux的命令。
其實在shell中 echo的參數-e能夠解析轉義字符,在單引或者雙引的情況下都能夠解析。
-e 啓用下列反斜槓轉義的解釋
echo 'a\nb' #結果是a\nb
echo -e 'a\nb'
運行結果是:
a
b