Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash Powershell间接扩展变量_Bash_Powershell_Variables - Fatal编程技术网

Bash Powershell间接扩展变量

Bash Powershell间接扩展变量,bash,powershell,variables,Bash,Powershell,Variables,我们有如下bash间接展开变量 ${!变量} powershell中是否有任何等效语法?? 如果没有,是否有解决办法 添加示例 $username\u master=“SomeValue” $branch=“master” $name=“username”+$branch $value=$($name)-->这里应该解析$name->username\u master,然后应该解析$username\u master->“SomeValue” 因此,echo$value应该输出“SomeValu

我们有如下bash间接展开变量 ${!变量}

powershell中是否有任何等效语法?? 如果没有,是否有解决办法

添加示例 $username\u master=“SomeValue”

$branch=“master”

$name=“username”+$branch

$value=$($name)-->这里应该解析$name->username\u master,然后应该解析$username\u master->“SomeValue”

因此,echo$value应该输出“SomeValue”

通过输出“SomeValue”的${!value}可以在bash中实现同样的功能,如何在powershell中实现同样的功能


提前感谢

正如您所提到的,我们可以在
bash
中说:

a="hello"
ref="a"
echo "${!ref}"
哪些产出:

hello
SomeValue
PowerShell
中的等效项为:

$a = "hello"
$ref = [ref]$a
echo $ref.Value
它还输出:

hello
我希望这就是你想要的

[编辑]

根据OP的示例,如何:

$username_master = "SomeValue"
$branch = "master"
$name = "username_" + $branch
Get-Variable -Name $name -valueOnly
哪些产出:

hello
SomeValue
您还可以通过以下方式为结果分配变量:

$value = Get-Variable -Name $name -valueOnly
echo $value
收益率:

SomeValue

希望这有帮助。

正如您所提到的,我们可以在
bash
中说:

a="hello"
ref="a"
echo "${!ref}"
哪些产出:

hello
SomeValue
PowerShell
中的等效项为:

$a = "hello"
$ref = [ref]$a
echo $ref.Value
它还输出:

hello
我希望这就是你想要的

[编辑]

根据OP的示例,如何:

$username_master = "SomeValue"
$branch = "master"
$name = "username_" + $branch
Get-Variable -Name $name -valueOnly
哪些产出:

hello
SomeValue
您还可以通过以下方式为结果分配变量:

$value = Get-Variable -Name $name -valueOnly
echo $value
收益率:

SomeValue

希望这有帮助。

据我所知,您正在谈论访问传递给函数的参数。如果是这种情况,请查看以下自动变量-
$PSBoundParameters
&
$Args
。您可能还需要查看剩余参数中的
值。参数属性。请。据我所知,您正在谈论访问传递给函数的参数。如果是这种情况,请查看以下自动变量-
$PSBoundParameters
&
$Args
。您可能还需要查看剩余参数中的
值。参数属性。请。让我们以$username\u master=“SomeValue”$branch=“master”$name=“username\u”+$branch-->为例,在它解析为username\u master之后,它应该将$username\u master的值提取到$name echo$name应该输出“SomeValue”,您能建议一个解决方案吗??Thanks@vinuvizal谢谢你的回复。我更新了我的答案,为您的示例添加了一个解决方案。谢谢!测试它工作得非常好:)@vinuvizal感谢您的即时测试和反馈。很高兴知道它有效。BR.让我们以$username\u master=“SomeValue”$branch=“master”$name=“username\u”+$branch-->为例,在解析为username\u master后,应将$username\u master的值提取到$name echo$name应输出“SomeValue”您能建议一个解决方案吗??Thanks@vinuvizal谢谢你的回复。我更新了我的答案,为您的示例添加了一个解决方案。谢谢!测试它工作得非常好:)@vinuvizal感谢您的即时测试和反馈。很高兴知道它有效。比尔。