VAR=${VAR:-값}
목적은 이미 설정되지 않은 경우 환경 변수 VAR을 값으로 설정하는 것입니다.
Bash와 Dash에서 작동하는 것으로 보는데, 이식성이 얼마나 되나요?
답변1
이 배포판은 이식 가능하며 모든 POSIX 셸에서 작동합니다. POSIX 정의이 확장처럼:
${매개변수:-단어}
기본값을 사용합니다. 인수가 설정되지 않았거나 비어 있으면 단어의 확장이 대체됩니다. 그렇지 않으면 인수의 값이 대체되어야 합니다.
VAR
그러나 설정되어 null인 경우 이 값도 해당 값으로 설정됩니다 . 값을 VAR
설정하려면 VAR
(이미 설정되지 않은 경우) 다음을 사용해야 합니다.
VAR=${VAR-value}
콜론을 생략하면 변수가 설정되지 않은 경우에만 대체가 발생합니다.
이전에 표시된 매개변수 확장에서 형식에 콜론을 사용하면 매개변수가 설정 해제되거나 테스트 대상이 비어 있게 됩니다. 콜론을 생략하면 설정 해제된 매개변수만 테스트됩니다.