개발관련/other

Bash에서 단일 명령으로 셸 변수에 기본값 할당

Rateye 2021. 11. 24. 12:49
728x90
반응형
질문 : Bash에서 단일 명령으로 셸 변수에 기본값 할당

변수가 설정되지 않은 경우 bash (3.00) 셸 스크립트의 변수에 대한 전체 테스트가 있습니다.

if [ -z "${VARIABLE}" ]; then 
    FOO='default'
else 
    FOO=${VARIABLE}
fi

나는 이것을 한 줄로 수행하는 몇 가지 구문이 있음을 기억하는 것 같습니다. 예를 들어 삼항 연산자와 비슷한 것입니다.

FOO=${ ${VARIABLE} : 'default' }

(그것이 작동하지 않는다는 것을 알고 있지만 ...)

내가 미쳤습니까, 아니면 그런 것이 있습니까?

답변

실제로 게시 한 내용과 매우 유사합니다. 이를 위해 "bash 매개 변수 확장"이라는 것을 사용할 수 있습니다.

할당 된 값을 가져 오거나 누락 된 경우 default

FOO="${VARIABLE:-default}"  # If variable not set or null, use default.

또는 동시에 VARIABLE default 을 할당하려면 :

FOO="${VARIABLE:=default}"  # If variable not set or null, set it to default.
출처 : https://stackoverflow.com/questions/2013547/assigning-default-values-to-shell-variables-with-a-single-command-in-bash
728x90
반응형