小编lle*_*era的帖子

格式化包含哈希表值的Powershell字符串

答案可能很简单,但我花了半个小时仍然无法解决问题.

假设我有以下哈希表:

$hash = @{face='Off';}
Run Code Online (Sandbox Code Playgroud)

我试图做的是,沿着一些其他字符串元素输出"face"的值.

这有效:

Write-Host Face $hash['face']
=> Face Off
Run Code Online (Sandbox Code Playgroud)

但是,这不是:

Write-Host Face/$hash['face']
=> Face/System.Collections.Hashtable[face]
Run Code Online (Sandbox Code Playgroud)

不知何故,缺少空间已经影响了运算符的优先级 - 现在它正在将$ hash作为一个字符串进行评估,之后是连接[face].

试图解决这个优先级问题,我试过:

Write-Host Face/($hash['face'])
=> Face/ Off
Run Code Online (Sandbox Code Playgroud)

我现在有一个我不想要的额外空间.这有效,但我不希望额外的行重新分配:

$hashvalue = $hash['face']
write-host Face/$hashvalue
=> Face/Off
Run Code Online (Sandbox Code Playgroud)

知道如何让它作为单线工作吗?

format powershell hashtable

6
推荐指数
1
解决办法
5107
查看次数

标签 统计

format ×1

hashtable ×1

powershell ×1