格式化包含哈希表值的Powershell字符串
发布时间:2020-12-14 16:24:41 所属栏目:Java 来源:网络整理
导读:答案可能很简单,但我花了半个小时仍然无法解决问题. 假设我有以下哈希表: $hash = @{face='Off';} 我试图做的是,沿着一些其他字符串元素输出“face”的值. 这有效: Write-Host Face $hash['face']= Face Off 但是,这不是: Write-Host Face/$hash['face']=
答案可能很简单,但我花了半个小时仍然无法解决问题.
假设我有以下哈希表: $hash = @{face='Off';} 我试图做的是,沿着一些其他字符串元素输出“face”的值. 这有效: Write-Host Face $hash['face'] => Face Off 但是,这不是: Write-Host Face/$hash['face'] => Face/System.Collections.Hashtable[face] 不知何故,缺少空间已经影响了运算符的优先级 – 现在它正在将$hash作为一个字符串进行评估,之后是连接[face]. 试图解决这个优先级问题,我试过: Write-Host Face/($hash['face']) => Face/ Off 我现在有一个我不想要的额外空间. $hashvalue = $hash['face'] write-host Face/$hashvalue => Face/Off 知道如何让它作为单线工作吗? 解决方法
当然,使用子表达式:
Write-Host Face/$($hash['face']) 通常,如果我需要使用Write-Host精确控制空白,我只使用一个字符串: Write-Host "Face/$($hash['face'])" 是的,在这种情况下,您需要再次使用子表达式,但更多是因为您根本无法在字符串中包含$foo [‘bar’]之类的表达式;-) 顺便说一句,$hash.face的工作原理同样适用于视觉混乱. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |