我想知道是否存在一个命令以bash
公开其包含的特殊字符的方式打印字符串。
例如,假设a=$'\a\0\b\e'
;是否存在一个可以\a\0\b\e
逐字打印的函数$a
?
到目前为止我得到的最接近的是使用l
以下命令sed
:
echo "$a" | sed -n 'l'
它返回\a\000\b\033$
,但表示法与内部不同$''
,如果字符串包含换行符,则不起作用。
答案1
var=$'a b \10 c'
printf %q "$var"
$'a b \b c'
这适用于bash
.我不知道这有多兼容。