程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> 關於.NET >> 【探索PowerShell 】【十五】引號與轉義字符

【探索PowerShell 】【十五】引號與轉義字符

編輯:關於.NET

在PowerShell中,單引號與雙引號有著不同的功能和作用。引號的使用規則往往跟變量的代換,以及特殊字符有關。

基礎用法

總結說來:

單引號任何情況下都只表示引號內自身的字符。也就是說,單引號內的內容不會進行變量的代換與字符的轉義。而在雙引號中,則允許進行變量代換和字符轉義。在對變量進行代換和字符進行轉義的判斷上,是由命令最外層的引號決定的。

詳細介紹,還是要用示例來說明。

使用雙引號輸出:

$a="World" <enter>
"Hello, $a" <enter>

運行結果為:

若使用單引號,將命令改為:

$a="World" <enter>
'Hello, $a' <enter>

則輸出結果為:

這一點很簡單,在本教程之前的文章中也有所提及。

輸出引號

在單引號中,如果要打印單引號,只需要使單引號重復即可,即,兩個單引號會產生一個單引號輸出。

例如:

$a="PowerShell" <enter>
'I''m $a' <enter>

運行結果為:

在單引號中輸出雙引號可以直接輸出,不需要進行轉換。如:

同樣在雙引號中,如果要輸出單引號,也不需要轉換,直接打印即可。 而且,如果需要在雙引號中打印雙引號,也只需要重復雙引號即可,即,兩個雙引號會產生一個雙引號輸出。

例1:

例2:

$a="PowerShell" <enter>
"""My name is $a"",this program said." <enter>

運行結果如下:

使用轉義字符

為了輸出一些特殊字符,我們需要使用轉義字符,在PowerShell中,轉義序列由反引號定義,也就是鍵盤F1下面與波浪線同鍵的字符" ` "。

常用的轉義字符串有:

`' 單引號 `" 雙引號 `0 空值 NULL `a 報警 `b 退格 `f 跳頁 `n 新行 `r 換行 `t 橫向Tab鍵(水平制表符) `v 縱向Tab鍵(縱向制表符)

當然,在雙引號中的變量名前使用反引號,也會取消此變量代換的功能。

例如上例中:

$a="PowerShell" <enter>
"""My name is `$a"",this program said." <enter>

輸出結果將為:

"My name is $a",this program said.

如圖:

需要說明的另一點,就是反引號的另一個作用:承接命令語句。

當我們需要輸入的命令太長,則可以在命令中合適的地方使用反引號,另起一行接著上條命令書寫。至於前面所指的“合適”的地方,簡單的說,總不能將一個單詞拆開吧。

例如:

Get-WmiObject Win32_NetworkAdapterConfiguration | Get-Member -MemberType Methods | Format-List

上面的命令非常長,不僅不便於我們的輸入,也不便於修改、查看,所以,可以使用反引號修改如下:

Get-WmiObject Win32_NetworkAdapterConfiguration |
Get-Member -MemberType Methods |
Format-List

如圖:

只需在命令結束後多敲一次回車,表示全部命令輸入完畢即可,在命令中使用反引號與否,最終的運行結果是一樣的。

使用反引號,不僅能夠幫助我們更加方便的書寫,在編寫腳本時也利於命令的修改,查看。個人感覺,尤其在管道符後面使用反引號,十分利於理清命令結構。

至於其他轉義字符的使用,其實都如同於在編程語言中或者其他腳本中的使用,方法都是一樣的。就請各位自己試一試吧。

出處http://marui.blog.51cto.com/1034148/300603

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved