환경 변수에 따른 조건부 할당

환경 변수에 따른 조건부 할당

Bash 스크립트에서는 값이 외부 전역 환경 변수( )에 따라 달라지도록 로컬 변수를 할당합니다 $MYAPP_ENV.

if [ "$MYAPP_ENV" == "PROD" ]
then
    [email protected]
else
    [email protected]
fi

위 과제를 작성하는 더 짧지만 더 깔끔한 방법이 있나요? (아마도 일종의 조건 연산자/인라인 if를 사용했을 것입니다.)

답변1

케이스/스위치를 사용하여 이 작업을 수행할 수도 있습니다 bash.

case "$MYAPP_ENV" in
 PROD) SERVER_LOGIN="[email protected]" ;;
    *) SERVER_LOGIN="[email protected]" ;;
esac

또는 이 방법은 다음과 같습니다.

[ "$MYAPP_ENV" = PROD ] &&
   [email protected] ||
   [email protected]

답변2

노력하다:

[ condition ] && var=value_when_true || var=value_when_false

할당이 숫자인 경우 bash삼항 연산을 사용할 수 있습니다.

(( assign_condition ? value_when_true : value_when_false ))

답변3

&&and ||연산자 를 사용할 수 있습니다.

[ "$MYAPP_ENV" == "PROD" ] && [email protected] || [email protected]

관련 정보