bash 3 또는 bash 4의 기본 변수

bash 3 또는 bash 4의 기본 변수

나는 이것을 가지고있다:

local v="${name-$tag}"  # default is name, tag is backup

이름이 비어 있지 않으면 작동하지 않습니다. 따라서 이 목표를 달성하기 위한 장기적인 경로는 다음과 같습니다.

local v="$name";

if [[ -z "$v" ]]; then
   v = "$tag"
fi

이 작업을 수행하는 간단한 방법이 있나요?

답변1

${variable-alternate value}변수가 설정되면 구문은 대체 값을 사용하지만 빈 문자열(예: 공백)로 설정된 경우에는 사용하지 않습니다. 변수가 설정되지 않았거나 빈 문자열로 설정된 경우 대체 값을 사용하려면 다음을 대신 사용하십시오 ${variable:-alternate value}(콜론 참고).

local v="${name:-$tag}"

관련 정보