Function 如何为Powershell指定启动方法
我已经编写了一个Powershell脚本,在控制台上,我通常指定start函数来启动脚本执行。但是我希望脚本本身应该指定启动函数,例如,当我运行脚本时,Function 如何为Powershell指定启动方法,function,powershell,startup,Function,Powershell,Startup,我已经编写了一个Powershell脚本,在控制台上,我通常指定start函数来启动脚本执行。但是我希望脚本本身应该指定启动函数,例如,当我运行脚本时,My function自身开始执行。i、 e只需键入脚本名称并输入。>myscript.ps1,它就可以从My Function开始执行。如何在脚本中指定启动函数 如前所述,您可以将该代码移出函数(实际上我通常不建议这样做),或者直接调用函数: function MyFunc { # stuff } MyFunc PowerShell
My function
自身开始执行。i、 e只需键入脚本名称并输入。>myscript.ps1
,它就可以从My Function
开始执行。如何在脚本中指定启动函数 如前所述,您可以将该代码移出函数(实际上我通常不建议这样做),或者直接调用函数:
function MyFunc {
# stuff
}
MyFunc
PowerShell没有入口点的概念,如果这正是您所考虑的
一个更通用的解决方案是,您可能希望指定一个函数作为脚本中的参数调用,但具有默认值,您可以使脚本将函数名作为具有默认值的参数
最重要的是:
[CmdletBinding()]
param(
$FunctionName = 'Func1'
)
function Func1 {
# does stuff
}
function Func2 {
# does other stuff
}
Invoke-Expression -Command $FunctionName
我真的不喜欢这个。这是很危险的(任何作为函数名传入的PowerShell代码都会被执行)。只需删除该函数。@Gerald:出于某种原因,我不想删除,有什么解决方案吗?或者,您可以在定义之后立即调用它。这让它变得毫无意义。