0
我已經寫了Powershell腳本,並且在控制檯中,我通常指定啓動腳本執行的啓動函數。但是我希望腳本自己指定啓動功能,例如My-Function
本身,以在我運行腳本時開始執行。即只需輸入腳本名稱並輸入..> myscript.ps1
,它應該從My-Function
開始執行。我如何在腳本中指定啓動功能?如何指定Powershell的啓動方法
我已經寫了Powershell腳本,並且在控制檯中,我通常指定啓動腳本執行的啓動函數。但是我希望腳本自己指定啓動功能,例如My-Function
本身,以在我運行腳本時開始執行。即只需輸入腳本名稱並輸入..> myscript.ps1
,它應該從My-Function
開始執行。我如何在腳本中指定啓動功能?如何指定Powershell的啓動方法
如前所述,你可以移動的代碼出了函數(其實我通常不會推薦),或者只是立即調用的函數:
function MyFunc {
# stuff
}
MyFunc
PowerShell不具有的概念如果這就是你想要的入口點。
更通用的解決方案,您可能希望指定一個函數作爲腳本中的參數進行調用,但具有默認值,可以使腳本將函數名稱作爲具有默認值的參數。
腳本的頂部:
[CmdletBinding()]
param(
$FunctionName = 'Func1'
)
function Func1 {
# does stuff
}
function Func2 {
# does other stuff
}
Invoke-Expression -Command $FunctionName
我真的不喜歡這樣。而且這很危險(任何傳入的PowerShell代碼都會作爲函數名執行)。
只是刪除功能。 –
@傑拉爾德:出於某種原因,我不想刪除,請任何解決方案? – SPBeginer
好吧,或者您可以在定義之後立即調用它。但它使得它毫無意義。 –