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"|