[英]Using a number as a switch parameter in PowerShell
我试图构建一个很酷的“ PowerShell命令”(一个包含全局函数的脚本,以后可以从外壳程序中将其用作命令),但是我遇到了问题。
我将参数与param()
一起使用,并且有一个选项可以使用switch参数(一个不会获取后续信息,而是稍后用于选项的选项-例如Linux命令ls
的-l
)。
问题是,当参数名称是字母而不是数字时,它可以正常工作。 奇怪的是,数字可以定义为变量( $4
)。
我需要做什么?
它应该像ping -6
。
想法?
正如Mathias在评论中指出的那样,您要问的是不可能的。
根据语言规范的第2.3.4节:
2.3.4参数
句法:
\n 破折号first-parameter-char parameter-chars Colonopt\n \n Lu,Ll,Lt,Lm或Lo类的Unicode字符\n _(下划线字符U + 005F)\n ?\n ...
最接近的是这样的:
Param(
[Parameter(Mandatory=$false)]
[Switch]$_7
)
但是,对于您的情况,无论如何,这样的可读性更强:
Param(
[Parameter(Mandatory=$false)]
[ValidateSet(3,5,7)]
[int]$Mode = 7
)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.