명령을 통해 상속받는 쉘 스크립트가 있습니다
#!/usr/bin/env bash
set -eux
일관되게 실행되어야 하는 다양한 셸 스크립트 간에 변수 공유를 시작하고 싶기 때문에 일반적으로 이 명령을 사용하여 .env의 변수를 내보냅니다.
set -a
source .env
set +a
조합의 구문이 적절한가요?
set -euxa
source .env
set +a
답변1
이 set
명령은 args에 제공된 쉘 속성을 수정합니다. 지정하지 않은 속성은 수정되지 않습니다. 이는 한 번의 호출로 여러 속성을 조합하여 설정하거나 set
여러 번의 호출로 동일한 결과를 얻을 수 있음을 의미합니다 set
.
이 구문은 다음과 같습니다.
set -e
set -u
set -x
set -a
당신에게 똑같은 결과를 줄 것입니다 :
set -euxa
스타일 측면에서 일시적으로 수정되는 속성과 별도로 스크립트의 전체 런타임 동안 지속되는 속성을 유지하는 것이 좋습니다. 귀하의 스크립트에는 다음을 권장합니다.
#!/usr/bin/env bash
set -eux
set -a
source .env
set +a