我开始学习powershell脚本,我被一个简单的问题卡住了(肯定是由于我缺乏经验):字符串插值。
我正试图打印我使用Get-ChildItem
cmdlet获得的目录列表。我在教程中读到,要在字符串中输出对象的属性,你应该使用"${$variable.property}"
,所以我尝试了以下代码:
foreach($pluginDir in Get-ChildItem -Path "./Plugins" -Directory){
Write-Host "Found plugin directory ${$pluginDir.FullName}"
}
Get-ChildItem
命令工作正常(我已经尝试直接打印$pluginDir.FullName
而不将其插入字符串内),但是字符串插值不是。我从上面代码的输出中得到的全部是:
Found plugin directory
Found plugin directory
Found plugin directory
...
我在这里做错了什么?
正确的语法是:
Write-Host "Found plugin directory $($pluginDir.FullName)"
关于命令替换的更多信息:https://learn.microsoft.com/en - us/powershell/scripting/learn/deepdives/everything - -字符串substitutions?view=powershell - 7.3 #命令替换