Bash의 조건부 할당

Bash의 조건부 할당

bash(and ) 에서 가 주어진 경우 변수에 zsh값을 가장 간결하게 할당하고 , 그렇지 않으면 기본값을 할당 하는 방법은 무엇입니까 ?$1w$14

나는 노력했다

w=$(( $1 != "" ? $1 : 4))

하지만 오류 메시지가 반환되었습니다.

이보다 더 간단한 게 또 있을까

w=4; [[ $1 != "" ]] && w=$1

답변1

양식의 매개변수 확장을 사용하십시오.${parameter:-word}

${parameter:-word}기본값을 사용합니다. 매개변수가 설정되지 않거나 null이면 단어의 확장이 대체됩니다. 그렇지 않으면 매개변수 값이 대체됩니다.

w=${1:-4}

콜론을 생략하면 설정되지 않은 매개변수에 대해서만 테스트가 수행됩니다.

w=${1-4}

관련 정보