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
。これがどれほど互換性があるかわかりません。