探索PowerShell(十五) 引號(hào)與轉(zhuǎn)義字符
總結(jié)說來:
單引號(hào)任何情況下都只表示引號(hào)內(nèi)自身的字符。也就是說,單引號(hào)內(nèi)的內(nèi)容不會(huì)進(jìn)行變量的代換與字符的轉(zhuǎn)義。而在雙引號(hào)中,則允許進(jìn)行變量代換和字符轉(zhuǎn)義。在對(duì)變量進(jìn)行代換和字符進(jìn)行轉(zhuǎn)義的判斷上,是由命令最外層的引號(hào)決定的。
詳細(xì)介紹,還是要用示例來說明。
使用雙引號(hào)輸出:
$a="World" <enter>
"Hello, $a" <enter>
運(yùn)行結(jié)果為:

若使用單引號(hào),將命令改為:
$a="World" <enter>
'Hello, $a' <enter>
則輸出結(jié)果為:

這一點(diǎn)很簡(jiǎn)單,在本教程之前的文章中也有所提及。
輸出引號(hào)
在單引號(hào)中,如果要打印單引號(hào),只需要使單引號(hào)重復(fù)即可,即,兩個(gè)單引號(hào)會(huì)產(chǎn)生一個(gè)單引號(hào)輸出。
例如:
$a="PowerShell" <enter>
'I''m $a' <enter>
運(yùn)行結(jié)果為:
在單引號(hào)中輸出雙引號(hào)可以直接輸出,不需要進(jìn)行轉(zhuǎn)換。如:
同樣在雙引號(hào)中,如果要輸出單引號(hào),也不需要轉(zhuǎn)換,直接打印即可。 而且,如果需要在雙引號(hào)中打印雙引號(hào),也只需要重復(fù)雙引號(hào)即可,即,兩個(gè)雙引號(hào)會(huì)產(chǎn)生一個(gè)雙引號(hào)輸出。
例1:
例2:$a="PowerShell" <enter>
"""My name is $a"",this program said." <enter>
運(yùn)行結(jié)果如下:

使用轉(zhuǎn)義字符
為了輸出一些特殊字符,我們需要使用轉(zhuǎn)義字符,在PowerShell中,轉(zhuǎn)義序列由反引號(hào)定義,也就是鍵盤F1下面與波浪線同鍵的字符" ` "。
常用的轉(zhuǎn)義字符串有:
`' | 單引號(hào) |
`" | 雙引號(hào) |
`0 | 空值 NULL |
`a | 報(bào)警 |
`b | 退格 |
`f | 跳頁 |
`n | 新行 |
`r | 換行 |
`t | 橫向Tab鍵(水平制表符) |
`v | 縱向Tab鍵(縱向制表符) |
當(dāng)然,在雙引號(hào)中的變量名前使用反引號(hào),也會(huì)取消此變量代換的功能。
例如上例中:
$a="PowerShell" <enter>
"""My name is `$a"",this program said." <enter>
輸出結(jié)果將為:
"My name is $a",this program said.
如圖:
需要說明的另一點(diǎn),就是反引號(hào)的另一個(gè)作用:承接命令語句。
當(dāng)我們需要輸入的命令太長(zhǎng),則可以在命令中合適的地方使用反引號(hào),另起一行接著上條命令書寫。至于前面所指的“合適”的地方,簡(jiǎn)單的說,總不能將一個(gè)單詞拆開吧。
例如:
Get-WmiObject Win32_NetworkAdapterConfiguration | Get-Member -MemberType Methods | Format-List上面的命令非常長(zhǎng),不僅不便于我們的輸入,也不便于修改、查看,所以,可以使用反引號(hào)修改如下:
Get-WmiObject Win32_NetworkAdapterConfiguration |` Get-Member -MemberType Methods |` Format-List
如圖:

只需在命令結(jié)束后多敲一次回車,表示全部命令輸入完畢即可,在命令中使用反引號(hào)與否,最終的運(yùn)行結(jié)果是一樣的。
使用反引號(hào),不僅能夠幫助我們更加方便的書寫,在編寫腳本時(shí)也利于命令的修改,查看。個(gè)人感覺,尤其在管道符后面使用反引號(hào),十分利于理清命令結(jié)構(gòu)。
至于其他轉(zhuǎn)義字符的使用,其實(shí)都如同于在編程語言中或者其他腳本中的使用,方法都是一樣的。就請(qǐng)各位自己試一試吧。
- 區(qū)分shell中的 反引號(hào)、$()和${}
- Shell雙引號(hào)和單引號(hào)有哪些不同
- Shell編程 Bash引號(hào)的那點(diǎn)事
- Shell腳本中單引號(hào)(‘)和雙引號(hào)(“)的使用區(qū)別
- linux shell中單引號(hào)、雙引號(hào)、反引號(hào)、反斜杠的區(qū)別
- shell腳本開頭#!/bin/bash的作用詳解
- Shell編程之/bin/bash和/bin/sh的區(qū)別淺析
- Shell腳本bash: ./t.sh:/bin/bash^M:損壞的解釋器: 沒有那個(gè)文件或目錄
- shell腳本中/bin/bash的作用引號(hào)與括號(hào)的使用小結(jié)
相關(guān)文章
Powershell生成Windows密碼算法簡(jiǎn)單學(xué)習(xí)
利用Powershell生成Windows密碼:密碼一共8位/字符的次序是隨機(jī)組成的等等,接下來為你詳細(xì)介紹下,感興趣的你可以參考下哈,希望對(duì)你學(xué)習(xí)Powershell有所幫助2013-03-03PowerShell遠(yuǎn)程安裝MSI安裝包、EXE可執(zhí)行程序的方法
這篇文章主要介紹了PowerShell遠(yuǎn)程安裝MSI安裝包、EXE可執(zhí)行程序的方法,需要的朋友可以參考下2014-05-05PowerShell中調(diào)用外部程序和進(jìn)程操作命令例子
這篇文章主要介紹了PowerShell中調(diào)用外部程序和進(jìn)程操作命令例子,給出了進(jìn)程操作的一些命令和調(diào)用外部應(yīng)用程序的方法,需要的朋友可以參考下2014-08-08PowerShell中使用.NET將程序集加入全局程序集緩存
這篇文章主要介紹了PowerShell中使用.NET將程序集加入全局程序集緩存,本文介紹了兩種方法實(shí)現(xiàn)把程序集加入全局程序集緩存,著重講解了使用.Net的類庫解決這個(gè)需求,需要的朋友可以參考下2015-06-06Powershell小技巧之使用Copy-Item添加程序到開機(jī)啟動(dòng)
本文主要記錄了本人安裝office2013后遇到的一個(gè)小需求,然后用powershell實(shí)現(xiàn)了這個(gè)功能,特此記錄下,并附上copy-item的使用方法2014-09-09PowerShell 獲取系統(tǒng)信息的函數(shù)
如果你要得到本地或遠(yuǎn)程的使用配置信息,又不想浪費(fèi)太多的解決時(shí)間。可以在Powershell中使用systeminfo.exe提取數(shù)據(jù)2014-03-03PowerShell使用match操作符來篩選數(shù)組
本文介紹PowerShell中使用match操作符,配合正則表達(dá)式從數(shù)組中篩選出想要的內(nèi)容,需要的朋友可以參考下2016-11-11