为什么PowerShell返回新行?
我最近深入了解了PowerShell的一些微妙之处,并注意到一些我无法避免的事情,即使用这个普通函数在字符串开头返回新行为什么PowerShell返回新行?,powershell,whitespace,Powershell,Whitespace,我最近深入了解了PowerShell的一些微妙之处,并注意到一些我无法避免的事情,即使用这个普通函数在字符串开头返回新行 Function Why() { "" return "Well I tried." } 这将返回“\r\n我已经尝试过了” 这将输出以下内容: Starting test. Well I tried. Well I tried. Ending test. 现在,PowerShell似乎正在将一个输出连接到另一个输出。但是为什么?是什么使它认为我希望空
Function Why() {
""
return "Well I tried."
}
这将返回“\r\n我已经尝试过了”
这将输出以下内容:
Starting test.
Well I tried.
Well I tried.
Ending test.
现在,PowerShell似乎正在将一个输出连接到另一个输出。但是为什么?是什么使它认为我希望空白行成为返回语句的一部分?我(可能是错误地)喜欢使用这样的行作为速记,或者为了调试目的更仔细地检查变量
相关:此功能:
Function Why() {
""
return "Well I tried."
}
正在返回两个字符串的数组。第一个字符串是空字符串,第二个字符串是“我试过了”。当PowerShell显示字符串数组时,它会将每个字符串放在换行符上
25> $r = why
26> $r.GetType()
IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True True Object[] System.Array
27> $r[0].Length
0
28> $r[1]
Well I tried.
如果您只想让“Well I Twest”返回,您还可以使用或将不需要的返回值分配给$null
Function Why() {
Out-Null ""
return "Well I tried."
}
或
或
“
在函数中做什么?这就是回响空白行<代码> \r\n>代码> @ BANSI >“”最初是回荡到控制台的空白行。这是我的一个坏习惯。我知道“什么”,但我想知道“为什么”。这是哪个版本的powershell?我没有看到空白行或“我试过了。”在4.0中打印了两次。@mikez这是PowerShell 2.0。。。这可能是导致问题的原因。获取有关返回的帮助。
。函数中未捕获的任何内容都将返回。使用write host,您就不会有这个问题了……在这里,我一直认为它在返回字符串。德普。。。。非常感谢。
Function Why() {
Out-Null ""
return "Well I tried."
}
Function Why() {
$null = ""
return "Well I tried."
}
Function Why() {
"" > $null
return "Well I tried."
}