linux shell中各種括號的區別

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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章