bash 命令以明确的形式打印字符串

bash 命令以明确的形式打印字符串

我想知道是否存在一个命令以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.我不知道这有多兼容。

相关内容