我正在使用 Powershell 中的哈希表生成 Slack 訊息。
以下是哈希表的生成方式:
$serviceitems = foreach ($r in $rows) {
@{
type = 'section'
text = @{
type = 'mrkdwn'
text = "*{0}*\n{1:C2}" -f $r[1], $r[0]
}
}
@{
type = 'divider'
}
}
訊息顯示在 Slack 中,但\n列印出來而不是像它應該的那樣轉到新行。兩者*使文本按預期加粗。我嘗試在之前添加一個反引號\n,還嘗試添加一個額外的\. 兩者都沒有改變。
uj5u.com熱心網友回復:
\在 PowerShell 字串中沒有特殊含義。
PowerShell 使用`(所謂的反引號)作為轉義字符,因此您需要在可擴展(雙引號)字串 ( )`n內進行轉義序列,以便在字串中嵌入實際的換行符(LF 字符)。"..."
簡單的例子:
PS> "line 1`nline 2" | ForEach-Object { "[$_]" }
[line 1
line 2]
PowerShell 很樂意單獨接受 LF 作為換行符;如果您確實需要 CRLF 換行符,請使用`r`n. 要參考平臺原生換行符序列,請使用[Environment]::NewLine($([Environment]::NewLine)在內部使用"...")。
也可以看看:
- 概念about_Special_Characters幫助主題。
至于你嘗試了什么:
我嘗試在之前添加一個反引號
\n,還嘗試添加一個額外的\.
正如頂部所暗示的那樣,\根本不應該出現在圖片中。
嘗試`\n導致`轉義\字符,沒有效果(轉義非特殊字符被忽略);換句話說:與which is verbatim"`\n"相同"\n" \n
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/474181.html
