1、單引號''和雙引號""
兩者都是解決變量中間有空格的問題。
在bash中“空格”是一種很特殊的字符,比如在bash中這樣定義str=this is String,這樣就會報錯,爲了避免出錯就得使用單引號''和雙引號""。
單引號'',雙引號""的區別是單引號''剝奪了所有字符的特殊含義,單引號''內就變成了單純的字符。雙引號""則對於雙引號""內的參數替換($)和命令替換(``)是個例外。
比如說 :
n=3
echo '$n'
echo "$n"
結果就是$3
改成雙引號,結果就是3
2、反引號``
反引號``是命令替換,命令替換是指Shell可以先執行``中的命令,將輸出結果暫時保存,在適當的地方輸出。語法:`command`
DATE=`date`
echo "Date is $DATE"
COMMAND=`ls test.sh`
echo "Files are $COMMAND"
UP=`date ; uptime`
echo "Uptime is $UP"
====================================
Date is Sat May 16 14:57:40 2020
Files are test.sh
Uptime is Sat May 16 14:57:40 2020
14:57:40 up 5 days, 18:22, 0 users, load average: 0.00, 0.00, 0.00