【问题标题】:Did I do this PowerShell problem correctly?我是否正确地解决了这个 PowerShell 问题?
【发布时间】:2022-10-17 09:12:23
【问题描述】:

有人可以检查我是否正确地解决了这个 PowerShell 问题?另外,如果你回答它可以请解释我做错了什么。这将有助于我继续学习。谢谢!

问题 3.) 连接 a 和 b 以便创建变量 $c 使得 c -eq "this is the beginning this is the ending" 打印变量 c 的值。

这是我尝试过的,输出是: False

$c = "this is the beginning this is the end"
($a + $b) -eq $c

【问题讨论】:

  • 信息不足...$a$b 是如何定义的? ...无论是什么,它们之间是否有(单个)空间?
  • 所以,这是你的家庭作业。 ;-}--- 当您比较字符串时,使用 -eq 时必须明确/准确,其次,您没有显示 i $a、$b 是什么,但由于您正在进行比较,我们可以假设 $a , $b 是字符串 $c 的片段。您展示的是第一天的 PowerShell 培训和实验内容。然而,我假设您是 PS 和脚本的新手,因为您所展示的内容并不是 PowerShell 独有的。任何语言都会有同样的问题。

标签: powershell variables


【解决方案1】:

根据我的评论和我的假设。

Clear-Host
$a = 'this is the beginning'
$b = 'this is the end'
$c = 'this is the beginning this is the end'

($a + $b) -eq $c
# Results
<#
 ($a + $b) -eq $c
False
#>

# Note the space added for the equality of the full string
($a + ' ' + $b) -eq $c
# Results
<#
True
#>

# Or
("$a " + $b) -eq $c
# Results
<#
True
#>


# Single quote is a literal string
# Double quote is normally used for string expansion or PowerShell variable, or formatting requirements.

【讨论】:

  • 抱歉,我对 powershell 和脚本非常陌生。我很开心学习,但我只有几周的时间。你对变量是正确的。很好的猜测! $a = "这是开始" 和 $b = "这是结束"
  • 因此,从您的不同答案来看,它应该等于 true,因为基本上 $a 和 $b 需要等于两个字符串组合在一起?
  • 不用担心,我们迟早都要从某个地方开始。至于比较,是的,eq/match 就是这个意思。你也不会得到 C 和一个值,只是相等/匹配状态。至于学习,获取并使用这3本书。请求:在一个月的午餐中学习 Windows PowerShell 第 3 版,中级:Windows PowerShell Cookbook:编写 Microsoft 的 Command Shell 第 3 版的完整指南,高级:Windows PowerShell in Action 第 3 版。 Youtube is your friend
  • 感谢您解释一切,我们的老师允许我们从互联网上的任何地方获得帮助,因为她说当她作为 IT 技术人员遇到问题时,她就是这样学习的。我接受了您的回答并感谢 PowerShell 书籍推荐。我会调查他们。
  • 不用担心。我们的社区在这里帮助和学习我们自己。祝您学习愉快,取得成功。
猜你喜欢
  • 1970-01-01
  • 2012-06-13
  • 1970-01-01
  • 1970-01-01
  • 2023-03-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多