null 병합 방식으로 쉘 변수 설정 : 씨#: String myStr =

나는 정말로 “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}}"


답변