Windows PowerShell 允許我們在顯示文字或設定文字變數時,使用雙引號(")跟單引號(')。
例如顯示字串:
'這個是字串' "這也是字串"
執行結果如下:
設定字串:
$OK = '我說:"沒有問題!"' $GO = "Let's go." Write-Host $OK $GO
結果:
以上面的範例程式碼來說,如果變數要全部改用雙引號(")或單引號(')來表示,要怎麼辦呢?
有 2 種方式可用,第 1 種是只要把雙引號或單引號再重複一次即可,另外一種方式則使用逸出字元,要提醒大家的是,PowerShell 的逸出字元是 `(跟波浪符號位於同一個按鍵的那個),而非許多語言所用的反斜線(\)。
- 方法 1:重複一次單引號或雙引號
$OK = "我說:""沒有問題!""" $GO = 'Let''s go.' Write-Host $OK $GO
- 方法 2:使用逸出字元(`)
$OK = "我說:`"沒有問題!`"" $GO = "Let's go." Write-Host $OK $GO
由上面的數個範例可以看出來,使用雙引號(")跟單引號(')來顯示文字或設定文字變數並沒有什麼差別。但是若要顯示文字變數真正的值時,就有差異了。如下圖,要顯示變數真正的值必須要使用雙引號,如果使用單引號,那麼只會顯示該變數的名稱。
一言以蔽之,用雙引號會展開變數的值,用單引號只會顯示變數的名稱。