不使用引號定義字符串時,字符串不能包含空白字符(如Space或Tab),需要加引號,一般連續的字符串,數字,路徑等可以不加引號。如果內容中有命令、變量等,會先把變量、命令解析出結果,然後在輸出最終內容。
> RUMENZ1="入門 小站"
> RUMENZ2=入門小站
> RUMENZ3=入門 小站 #直接報錯可見,字符串中包含有空格時必須用引號括起來,將無法正常輸出。
必須使用雙引號("")和單引號('')的場景在變量賦值時,如果有空格,Shell會把空格後面的字符串解釋為命令
> RUMENZ=1 2 3
cd: string not in pwd: -2 #報錯
> RUMENZ="1 2 3"
> echo $RUMENZ
1 2 3
> RUMENZ='4 5 6'
> echo $RUMENZ
4 5 6當變量值中有空格,等空白符時需要使用""或''包起來
雙引號("")和單引號('')的區別> RUMENZ=123
> echo '$RUMENZ'
$RUMENZ
> echo "$RUMENZ"
123雙引號("")可以解析變量($RUMENZ),單引號('')不能解析變量,忽略特殊字符
字符串常量使用單引號括起來,如果字符串中含有變量、命令等使用雙引號括起來,不建議不加引號。