bash if 문의 조건에 +xxx 는 뭘까요?

vhgksl의 이미지

#DOWNLOAD_USER=setupuser
#DOWNLOAD_PSWD=
 
if [ -z "${DOWNLOAD_USER+xxx}" ]; then echo "Download user name is not set"; exit 1; fi
if [ -z "${DOWNLOAD_PSWD+xxx}" ]; then echo "Download user password is not set"; exit 1; fi

-z 옵션은 문자열이 비었는지 체크해주는 옵션인것으로 압니다만, 변수의 끝에 +xxx 는 무엇일까요? 이런 문법은 처음 봤네요.

qiiiiiiiip의 이미지

${parameter+alt_value}, ${parameter:+alt_value}
매개변수가 세트되어 있다면 alt_value를 쓰고 아니라면 널 스트링을 씁니다.

https://wiki.kldp.org/HOWTO/html/Adv-Bash-Scr-HOWTO/parameter-substitution.html
vhgksl의 이미지

덕분에 많은 도움이 되었습니다. ㅎㅎ