このコードを実行すると
#!/bin/bash
set -x
http --json http://example.com \
value=$'hello\r\n\r\nworld'
stdoutにはキャリッジリターンが2つあります。value
http --json http://example.com 'value=hello
world'
しかし、value
変数に文字列がある場合、標準出力から同じ文字列を取得する方法が見つかりません。たとえば、私が実行した場合
#!/bin/bash
set -x
variable="hello\r\n\r\nworld"
http --json http://example.com \
value=$''"$variable"''
改行はありませんが、\r\n\r\n
文字はありません。
http --json http://example.com 'value=hello\r\n\r\nworld'
変数内の値から始まる行を囲む方法は何ですか?
変更することはできませんが、variable="hello\r\n\r\nworld"
実行中のコマンドとコードの間にコードを追加できます。
ベストアンサー1
それは私には違います。
#!/bin/bash
set -x
variable="hello\r\n\r\nworld"
http --json http://example.com \
value="${variable@E}"