为什么这个小PowerShell片段不会返回false?

时间:2016-11-29 16:59:37

标签: powershell

当我以为我认识PowerShell时,我想知道这里发生了什么。 Compare-Object适用于这两个示例,如果我不检查$ null,则第二个示例将返回差异,但我在最糟糕的时间进行简单比较。为什么第二个示例不返回 False

(compare-object @(1,2,3)  @(1,2,3)) -eq $null

(compare-object @(1,2,3)  @(1,2,3,4,5,6)) -eq $null

(没有返回) - 我希望看到错误

1 个答案:

答案 0 :(得分:2)

这是因为结果是一个数组,你应该检查计数以确定是否有内容:

((compare-object @(1,2,3)  @(1,2,3)) | measure).count -gt 0

((compare-object @(1,2,3)  @(1,2,3, 4, 5, 6)) | measure).count -gt 0