var=$'a b c'
printf %q "$var"
$'a b \b c'
Isso funciona em bash . Eu não sei como isso é compatível.
Eu estou querendo saber se existe um comando em bash para imprimir uma string de uma maneira que expõe o caractere especial que ela contém.
Por exemplo, suponha que a=$'\a ; existe uma função para imprimir \a\b\e'$a\b\el literalmente de sed ?
O mais próximo que eu tenho até agora é usando o comando \a de %code% : $''0\b3$
echo "$a" | sed -n 'l'
que retorna %code% , mas a notação é diferente daquela dentro de %code% , e não funciona se a string contiver novas linhas.
var=$'a b c'
printf %q "$var"
$'a b \b c'
Isso funciona em bash . Eu não sei como isso é compatível.