我正在学习powershell,我有一个例子。但我完全无法理解它。 这是代码:
if($($wordProgress -join '') -like $targetWord)
答案 0 :(得分:3)
回到上一个问题,$ wordProgress是一个强类型数组。因此$($wordProgress -join '')
加入数组值并将连接值与$ targetword进行比较。
它在一个If语句中,所以如果它返回true,它将执行进程{}块中的任何操作。
以下是此实例的一个示例。
[int[]]$nums = 1,2,3,4
Write-Host "Not Joined = "
$nums
Write-Host "Joined = "
($nums -join '')
If($($nums -join '') -like '1234'){
Write-host "Do something!"
}
此外,由于您是Powershell的新手,我建议您首先了解Get-Help Cmdlet。
以下是如何使用它来了解-join运算符
Get-help about_join
答案 1 :(得分:2)
我猜$wordProgress
是一个char数组(字符列表)。
$()
是一个子表达式,用于在继续处理之前运行某些内容。
-join ''
使用空白分隔符连接数组值(因此只需在彼此之后添加值),以创建字符串。
-like
匹配左侧(从char数组创建的字符串)与右侧的单词。
这都在if-test中,所以如果连接的字符串与$targetWord
匹配,它将运行应该在表达式之后的代码。
样品:
PS > [char[]]$wordProgress = "a","b","c"
PS > $targetWord = 'abc'
PS > $($wordProgress -join '')
abc
PS > if($($l -join '') -like $targetWord) { "MATCH" }
MATCH