我有一段时间的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>
插入什么内容?
答案 0 :(得分:2)
我认为你可以在这里充分利用$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
尚未使用函数名调用,我会让你失去一些头发(.
失败)!