명시적인 형식으로 문자열을 인쇄하는 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. 이것이 얼마나 호환되는지 모르겠습니다.

관련 정보