![mailx bcc 옵션이 null로 처리되지 않았습니다.](https://linux55.com/image/211037/mailx%20bcc%20%EC%98%B5%EC%85%98%EC%9D%B4%20null%EB%A1%9C%20%EC%B2%98%EB%A6%AC%EB%90%98%EC%A7%80%20%EC%95%8A%EC%95%98%EC%8A%B5%EB%8B%88%EB%8B%A4..png)
다음 명령을 사용하여 이메일을 보내고 있는데 모든 매개변수가 제공되는 경우에만 작동합니다.
빈/빈 변수를 처리하는 방법을 알려주십시오. 예를 들어, -c -b는 제공되지 않으면 무시됩니다.
mailx -a ${ATTACH} -s "$SUBJECT" -c "$CC_MAIL" -b "${BCCMAIL}" -r "${FROM}" "${TO_LIST}"
감사합니다, 베라
답변1
인용하다https://www.gnu.org/software/bash/manual/html_node/Shell-Parameter-Expansion.html
${parameter:+word}
만약에범위비어 있거나 설정되지 않은 경우, 아무것도 대체되지 않으며, 그렇지 않으면 확장됩니다.단어교체됩니다.
mailx ${ATTACH:+-a} "${ATTACH}" ${SUBJECT:+-s} "$SUBJECT" ${CC_MAIL:+-c} "$CC_MAIL" ${BCCMAIL:+-b} "${BCCMAIL}" ${FROM:+-r} "${FROM}" "${TO_LIST}"
예:
echo mailx ${ATTACH:+-a} "${ATTACH}" ${SUBJECT:+-s} "$SUBJECT" ${CC_MAIL:+-c} "$CC_MAIL" ${BCCMAIL:+-b} "${BCCMAIL}" ${FROM:+-r} "${FROM}" "${TO_LIST}"
ATTACH=foo
echo mailx ${ATTACH:+-a} "${ATTACH}" ${SUBJECT:+-s} "$SUBJECT" ${CC_MAIL:+-c} "$CC_MAIL" ${BCCMAIL:+-b} "${BCCMAIL}" ${FROM:+-r} "${FROM}" "${TO_LIST}"
SUBJECT=bar
echo mailx ${ATTACH:+-a} "${ATTACH}" ${SUBJECT:+-s} "$SUBJECT" ${CC_MAIL:+-c} "$CC_MAIL" ${BCCMAIL:+-b} "${BCCMAIL}" ${FROM:+-r} "${FROM}" "${TO_LIST}"
인쇄
mailx
mailx -a foo
mailx -a foo -s bar