나는 정말로 “null coalescing”을 좋아하는데, 여기에서 사물 목록에서 첫 번째 “null이 아닌”값으로 변수를 설정할 수 있습니다. 많은 언어가이를 지원합니다 (예 :
씨#:
String myStr = string1 ?? string2 ?? "default";
자바 스크립트 :
var myStr = string1 || string2 || "default";
…기타. 변수를 설정하기 위해 Bash 에서이 작업을 수행 할 수 있는지 궁금합니다.
가짜:
MY_STR=$ENV{VAR_NAME}??$ANOTHER_VAR??"default";
답변
POSIX 쉘 (포함 bash
)은 다음과 같습니다.
${FOO:-${BAR:-default}}
다음도 참조하십시오 :
${FOO-${BAR-default}}
변수가 빈 문자열로 해석되는지 여부 대신 변수가 설정되었는지 여부를 확인하는 변형 (변수가 설정되었지만 비어있는 경우에 차이가 있음).
답변
직접 아닙니다.
my_str="${var_name:-${another_var:-default}}"