방금 발견했어요
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.