Bash 스크립트에 대한 이 기본 인수는 어떻게 작동합니까?

Bash 스크립트에 대한 이 기본 인수는 어떻게 작동합니까?

방금 발견했어요

default="no parameter provided"
echo ${1:-$default}  # in a script

이것을 무엇이라고 부르나요? 내장인가요? 작동하는 것처럼 작동합니까?

답변1

이것은 다음의 일부입니다쉘 매개변수 확장그리고 내장되어 있습니다모든 POSIX 쉘:

${parameter:-word}

만약에매개변수설정되지 않았거나 null인 경우단어대체됩니다. 그렇지 않으면,매개변수대체됩니다.

귀하의 예에서 ${1}이 설정되지 않거나 null이 아닌 경우 해당 값이 출력되고, 그렇지 않으면 값이 ${default}대신 출력됩니다.

답변2

Parameter Expansion에 설명되어 있습니다 .배쉬 맨페이지다음을 사용하여 로컬로 호출할 수도 있습니다 man bash.

   ${parameter:-word}
          Use Default Values.  If parameter is unset or null, the
          expansion of word is substituted.  Otherwise, the value
          of parameter is substituted.

관련 정보