
(and) 에서 bash
주어진 경우 변수에 zsh
값을 할당 $1
하고 그렇지 않은 경우 기본값을 할당하는 가장 간결한 방법은 무엇입니까?w
$1
4
나는 노력했다
w=$(( $1 != "" ? $1 : 4))
하지만 이렇게 하면 오류 메시지가 반환됩니다.
이보다 더 간단한 게 있나요
w=4; [[ $1 != "" ]] && w=$1
답변1
양식의 매개변수 확장 사용${parameter:-word}
${parameter:-word}
기본값을 사용합니다. 인수가 설정되지 않거나 비어 있으면 단어의 확장이 대체됩니다. 그렇지 않으면 매개변수 값이 대체됩니다.
w=${1:-4}
콜론을 생략하면 설정되지 않은 매개변수만 테스트됩니다.
w=${1-4}