我们有bash间接扩展变量,如下所示 $ {!variable}
powershell中是否有任何等效语法? 如果没有,是否有任何解决方法?
添加示例 $ username_master =“ SomeValue”
$ branch =“ master”
$ name =“ username _” + $ branch
$ value = $($ name)->此处应解析$ name-> username_master,然后应解析$ username_master->“ SomeValue”。
因此echo $ value应该输出“ SomeValue”
可以通过$ {!value}在bash中实现相同的功能,它输出“ SomeValue”,如何在powershell中实现相同的效果?
预先感谢
答案 0 :(得分:2)
正如您提到的,我们可以在bash
中表示为:
a="hello"
ref="a"
echo "${!ref}"
输出:
hello
PowerShell
中的等价项为:
$a = "hello"
$ref = [ref]$a
echo $ref.Value
它还会输出:
hello
我希望这就是你想要的。
[编辑]
以OP的示例为例,
$username_master = "SomeValue"
$branch = "master"
$name = "username_" + $branch
Get-Variable -Name $name -valueOnly
输出:
SomeValue
您还可以使用以下方法将变量分配给结果:
$value = Get-Variable -Name $name -valueOnly
echo $value
产量:
SomeValue
希望这会有所帮助。