비어 있는 경우 ${x:?}
반환 값을 0이 아닌 값으로 만들려면 어떻게 해야 합니까 $x
? 기본적으로 셸(이 경우 하위 셸)을 종료합니다 0
.
function sth() {
local url="${1:?}"
...
}
(sth) ; echo $? # shows 0
업데이트: Stéphane Chazelas가 말했듯이 이는 대화형 사용에서만 발생합니다.
답변1
댓글에 설명된 대로 ${x:?}
이 작업은 자체적으로 수행할 수 없습니다. 그러나 조건문을 사용하면 원하는 것을 쉽게 달성할 수 있습니다.
% sth() { [[ -n $1 ]] || return; local url="$1" }
% sth; print $?
1