- 不加括號
string中沒有命令和變量近迁,沒有空格,可以不加华畏,不加引號的程序員不是合格的程序員 - 單引號''
引號中的內(nèi)容原樣輸出梆暮,不解析變量和命令服协。
num=3
echo ‘$num’
$num
echo “$num”
3
- 雙引號
會解析里面的變量${} 、$var和命令$()
關(guān)于${var}, “$var”, and “${var}”的區(qū)別:What is the difference between ${var}, “$var”, and “${var}”
推薦用${var}啦粹,“${var}” 表示把var當(dāng)成單個字符偿荷。
不需要轉(zhuǎn)義的字符串用單引號,用到解析變量和命令時用雙引號唠椭。
- 大小花括號
- ()只是對一串命令重新開一個子shell進(jìn)行執(zhí)行
- {}對一串命令在當(dāng)前shell執(zhí)行
- ()和{}都是把一串的命令放在括號里面跳纳,并且命令之間用;號隔開
- ()最后一個命令可以不用分號
- {}最后一個命令要用分號
- {}的第一個命令和左括號之間必須要有一個空格
- ()里的各命令不必和括號有空格
- ()和{}中括號里面的某個命令的重定向只影響該命令,但括號外的重定向則影響到括號里的所有命令