我有两个按顺序排列的变量。$a包含
$a
Gi1/1 Gi1/2
$b包含
$b
Gi1/1 Gi1/2 Gi1/3
我试图比较两个变量是否相等或不相等如下:
if($a -eq $b) { write-host "equal" } else { write-host "not equal" }
但好像不起作用。输出应该是“不相等”,但它输出为“相等”。我该如何解决这个问题?
rjee0c151#
你有两个数组(从Select-String返回),但是你要做一个字符串比较,当你这样做的时候,它要做的是:
Select-String
$a.ToString() == $b.ToString()
也就是
"System.Object[]" == "System.Object[]"
如果数组只包含字符串,则解决方法是将它们相等地连接起来,然后进行比较:
$a = @('Gi1/1', 'Gi1/2') $b = @('Gi1/1', 'Gi1/2', 'Gi1/3') if (($a -join '') -eq ($b -join '')) { 'Equal' } else { 'Not equal' }
1条答案
按热度按时间rjee0c151#
你有两个数组(从
Select-String
返回),但是你要做一个字符串比较,当你这样做的时候,它要做的是:也就是
如果数组只包含字符串,则解决方法是将它们相等地连接起来,然后进行比较: