我有一段时间是PowerShell用户,但我不知道如何为我的PoSh脚本实现-Help
开关。
脚本已经有一个内置的帮助,可以使用Get-Help myscript.ps1
检索。
脚本有多个参数,需要记录。我想添加另一个参数-Help
来调用脚本本身的Get-Help
。
我想提供一个额外的界面来获取帮助页面。在Linux系统上使用-h
/ --help
替代man <cmd>
也很常见。
我已经用函数测试了它,但函数的名称是固定的并且已知;脚本可以重命名...
#
# .SYNOPSIS
# help text
#
[CmdLetBinding()]
param(
[switch]$Help = $false
)
if ($Help)
{ Get-Help <me>
return
}
Write-Host "other statements"
我应该为<me>
插入什么?
我想你可以在这里充分利用$MYINVOCATION.InvocationName
:
function Test-Function {
Param([Switch]
$Help = $false
)
if($Help) {
"help mode : function name is $($MYINVOCATION.InvocationName)"
} else {
"normal process"
}
}
Test-Function -Help
Get-Help
尚未被调用函数名称,我会让你失去一些头发(失败的.
)!