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