gpt4 book ai didi

powershell - PowerShell 在哪里获取它放在此处字符串中的换行符?

转载 作者:行者123 更新时间:2023-12-03 18:32:59 25 4
gpt4 key购买 nike

考虑以下 PowerShell 代码:

@"


"@.GetEnumerator() | %{[int]$_}

在我的电脑上输出
13
10

它们分别是回车和换行的 ASCII 控制字符的十进制表示。

The same code executed on AppVeyor outputs just a single number :
10

换句话说,PowerShell 在此处的字符串中跨系统使用的字符之间似乎存在差异。我预计来源是 [System.Environment]::newline但是 the same environment AppVeyor environment that output the single character in the here string, output
13
10

[System.Environment]::newline . [System.Environment]::newline似乎不是此处字符串中换行符的来源。

最佳答案

PowerShell 脚本本质上是一个字符串。而且它已经必须使用 "`n""`r`n"用于线路分离。因此,如果 PowerShell 字符串文字跨越多行,则 PowerShell 解析器会将在此字符串文字中使用的行分隔符保留为字符串文字值的一部分。

例如这个:

"'a`nb`r`nc'.GetEnumerator() | %{[int]`$_}" | Set-Content .\Test.ps1
.\Test.ps1

将打印:

97
10
98
13
10
99

关于powershell - PowerShell 在哪里获取它放在此处字符串中的换行符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46549413/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com