현업 SW 개발자의 연구 노트
Hits

배쉬 쉘에서 echo 명령으로 개행 출력 방법

Hits
Bash Shell에서 개행이 포함된 문자열을 출력하면 개행이 제대로 추력되지 않는다.

개행 출력 안되는 이슈

output="Hello!\nI am boyinblue"
echo "${output}"

위의 배쉬 쉘 스크립트를 실행해보면 원하는대로 출력이 되지 않는다.

이걸 의도했다.

Hello!
I am boyinblue

실제로는 이렇게 출력된다.

Hello!\nI am boyinblue

개행이 전혀 먹히지 않고 바이패스(bypass)된 상태로 출력된다.

개행을 출력하기 위한 -e 옵션

output="Hello!\nI am boyinblue"
echo -e "${output}"

위와 같이 -e 옵션을 붙여주면 문자열에 포함된 개행 문자를 출력에 표시한다.

Hello!
I am boyinblue

echo 명령 매뉴얼 확인

man echo 명령으로 echo 명령의 매뉴얼을 확인해보면, -e 옵션을 주면 백슬러쉬를 이스케이프 한다고 되어 있다.

-e enable interpretation of backslash escapes

즉, 개행 문자 외에도 백슬러쉬로 표현하는 모든 문자들을 처리한다.

이상입니다.