【发布时间】:2020-05-17 09:28:31
【问题描述】:
我想用一个变量替换现有的字符串,比如:
$x = "Hello `$xxx friend"
$xxx = 777
similar_to_js_exec($x) # i need here "Hello 777 friend"
我该怎么做?
【问题讨论】:
-
根据您的情况,您可能会发现其他值得考虑的概念。看看
-f字符串格式运算符和here-string构造。Invoke-Expressioncmdlet 被认为是高风险的 [类似于 sql 注入] 并且经常用于恶意软件,以至于它经常被完全阻止。 -
我用过 $url = Invoke-Expression ("""" + $_["ConnectionUri"].Value + """"),丑 :) 实际上没有用户输入,只有硬编码,所以没有注入。这是一个 Exchange 端点,取决于 Azure 环境、CN、DE、GOV,因此必须传递一个带有参数的 URL,该参数具有另一个参数,即“outlook.office365.com/…”。不过谢谢你的帮助!
-
啊!感谢您添加的信息。 [grin] ///// 请看一下
-f运算符。它通常完全不需要这些讨厌的嵌套引号。 -
@Lee_Dailey 不错的功能,这个和.NET String.Format()一样,我当然可以用,但是上面的代码已经用过了,而且比String.Format()快),但感谢您的建议!
-
@OlegSkripnyak - 我看到你的实际问题已经解决了......很高兴知道! [咧嘴]
标签: powershell