2014-02-22 51 views
2

我最近被要求修改一些PowerShell腳本,並且我很好地理解了變量和$的概念。但我不太明白這段代碼確實和工作原理:關於變量的語法

[string]$env = $(throw "-env is required.) 

更準確地說我想知道單$符號,和throw關鍵字。

/安迪

回答

4

它被用來使$ ENV參數強制性的。如果未提供任何值,則[env]$env = "default"將爲env分配「default」。

throw "error"用於引發異常。

因此,如果沒有值由用戶提供[string]$env = $(throw "-env is required.")

將拋出異常。

+2

但不會是乾淨多寫這樣的事情作出強制性參數: [代碼] [參數(強制= $真實) [字符串] $ ENV, [/代碼] –

+0

@ Andy.l是的,會的。 –

+2

@ Andy.l - 是的,雖然我不認爲'強制'在powershell 1.0中可用,所以它可能是一箇舊腳本,或者作者不知道「強制」。 – Lee