首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >比较PowerShell中的两个字符串变量

比较PowerShell中的两个字符串变量
EN

Stack Overflow用户
提问于 2018-03-12 22:05:08
回答 1查看 18.1K关注 0票数 1

我有两个排序顺序的变量。

$a包含

代码语言:javascript
复制
Gi1/1
Gi1/2

$b包含

代码语言:javascript
复制
Gi1/1
Gi1/2
Gi1/3

我试着比较两个变量是否相等,如下所示:

代码语言:javascript
复制
if($a -eq $b) {
    write-host "equal"
} else {
    write-host "not equal"
}

但它似乎并没有起作用。输出应该是“不相等”,但它的输出是“相等”。我该如何解决这个问题呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-03-12 22:32:36

您得到的是两个数组(从Select-String返回),但您正在尝试进行字符串比较。当你这样做的时候,它试图这样做:

代码语言:javascript
复制
$a.ToString() == $b.ToString()

这就是

代码语言:javascript
复制
"System.Object[]" == "System.Object[]"

如果数组只包含字符串,一种解决方法是将它们相等地连接起来,然后进行比较:

代码语言:javascript
复制
$a = @('Gi1/1', 'Gi1/2')
$b = @('Gi1/1', 'Gi1/2', 'Gi1/3')

if (($a -join '') -eq ($b -join '')) {
    'Equal'
}
else {
    'Not equal'
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49237225

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档