我正在命令行中工作。假设我的示例如下所示:
Param(
[Parameter()] [string]$greeting="HelloWorld"
)
在命令行中,我可以这样做:
mygreeting
并输出HelloWorld
或者我可以这样做:
mygreeting -greeting="whatever"
并输出whatever
为什么我不能输入?
mygreeting -greeting
没有得到一个错误,该参数丢失?
在代码中,我希望能够基本上说:
如果指定greeting但没有值,则根据其他情况有条件地设置值
如果未指定greeting,则使用默认值
最佳答案
这是设计使然。 在PowerShell中,您通过指定参数名称后跟要传递的值来传递参数(除非它是一个开关,或者使用仅传递值的位置参数)。