我编写了一个Powershell脚本,在控制台上,我通常指定启动脚本执行的启动函数。但我希望脚本本身应该指定启动函数,例如My-Function
本身,以便在运行脚本时开始执行。即只需键入脚本名称并输入..> myscript.ps1
,就应该从My-Function
开始执行。我如何在脚本中指定启动功能?
答案 0 :(得分:0)
如上所述,您可以将该代码移出函数(我实际上通常不会建议)或者只是立即调用该函数:
function MyFunc {
# stuff
}
MyFunc
PowerShell并没有一个入口点的概念,如果这是你正在考虑的事情。
一种更通用的解决方案,您可能希望指定一个函数作为脚本中的参数调用但具有默认值,您可以使脚本将函数名称作为具有默认值的参数。
剧本的顶部:
[CmdletBinding()]
param(
$FunctionName = 'Func1'
)
function Func1 {
# does stuff
}
function Func2 {
# does other stuff
}
Invoke-Expression -Command $FunctionName
我不是很喜欢这个。并且它很危险(任何作为函数名称传入的PowerShell代码都将被执行)。