我正在使用以下腳本使用 webhook 將訊息發送到不和諧:
#!/bin/bash
webhookurl="https://discord.com/..."
messagearray=($(curl -s -i https://www.google.com/ | awk 'NR==12'))
message=`echo ${messagearray[@]} | tr -cd "0-9A-Za-z .=_,:\"()-[]{}\\'/'"`;
curl -H "Content-Type: application/json" -d '{"content": "'"$message"'"}' "$webhookurl"
終端的輸出是:alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43"
但在不和諧的情況下,它發送時沒有像這樣的雙引號:alt-svc: h3=:443; ma=2592000,h3-29=:443; ma=2592000,h3-Q050=:443; ma=2592000,h3-Q046=:443; ma=2592000,h3-Q043=:443; ma=2592000,quic=:443; ma=2592000; v=46,43
我曾經\"轉義雙引號,但這似乎不起作用。可能的解決方案是什么?
uj5u.com熱心網友回復:
您不會“轉義引號”。要處理 JSON,您可以使用 JSON 庫和工具。喜歡jq。
message="anything you want here"
data=$(jq -n --arg message "$message" '.content = $message')
curl -d "$data" ...
用 shellcheck 檢查你的腳本。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/428532.html
