我正在调用这样的脚本;
./pub.ps1 -b ab
在酒吧我有:
param(
[string]$b
)
我想要的是有某种重新定义参数的案例或开关。
进入:
-b abc as a parameter could be converted to: $bucket = "abcd123"
-b ddd as a parameter could be converted to: $bucket = "sdafasdf"
换句话说,我可以使用某种形式的case或switch语句吗?
答案 0 :(得分:4)
不确定我是否理解您的问题,但是将一个字符串映射到另一个字符串可以使用哈希表来完成:
$map = @{
'abc' = 'abcd123'
'ddd' = 'sdafasdf'
}
$bucket = $map[$b]
或使用switch
声明:
$bucket = switch ($b) {
'abc' { 'abcd123' }
'ddd' { 'sdafasdf' }
default { 'something else' }
}
switch
方法更通用,因为您不仅可以使用默认值,还可以使用通配符或正则表达式匹配而不是普通字符串匹配。