BashのANSI C引用符は、C(または一重引用符付きのPython)と同じ方法で文字列を読み取る必要があります。
printf $'"Hello, World!\\n"'
#expected output (no newline, the slash is escaped)
"Hello, World!\n"
#actual output (one newline)
"Hello, World!
"
しかし、正しく動作しないようです。これはバグですか?
答え1
あなたはprintf
それを間違って使用しました。予想されるフォーマット文字列を提供し、printf
それに応じて解釈しました\n
。正しい書式文字列を使用し、ANSI-C 引用符付き文字列を引数として指定します。
$ printf '%s\n' $'"Hello, World!\\n"'
"Hello, World!\n"
または、書式文字列内のパラメータがどこにあるかをより明確に表示するには、次の手順を実行します。
$ printf '|%s|\n' $'"Hello, World!\\n"'
|"Hello, World!\n"|