Linux Shell Script(Bash): 변수에 개행문자 넣기, 그리고 변수에 문자열 추가(Append/Concatenate)

간단할 듯 한데, 의외로 어려웠다.
몇가지 방법이 있는 모양인데, $'\n' 을 택했다. 왜 저런 모양일까 고민하지 말고, 그냥 외우는게 편하다.

이런 식으로 사용했다.

INCL_FILES="+ */"$'\n'
INCL_FILES="$INCL_FILES"$(find "$LOCAL_DIR" ! -newermt "$(date '+%Y%m%d 22:30')" -type f -exec printf "+ " \; -exec basename {} \;)
INCL_FILES="$INCL_FILES"$'\n'"- *"

$’\n’ 은 겹따옴표 내부에 위치하면 안된다. 첫행에서처럼 겹따옴표가 끝난 다음에 넣어줘야 한다.

두번째 행에 나와있듯, Linux Shell script 에서 Append/Concatenate 는 그냥 나란히 써주면 된다.
또, 두번째 행의 결과에는 개행문자가 자동으로 포함된다. find 출력에 개행문자가 들어있는 모양이다. 이게 아마 {} \; 때문인 듯도 한데.. (기억이 가물가물)

이렇게 간단히 정리.

Author: 아무도안

안녕하세요. 글 남겨주셔서 고맙습니다.