답변:
변수를 참조하고 기본값을 인라인으로 제공하려면 echo
두 분기 모두에 수행되는 조건부를 포함하는 명령 대체를 사용할 수 있습니다 .
> echo (if set -q someVar; echo $someVar; else; echo 'a default value'; end)
a default value
> set someVar 42
> echo (if set -q someVar; echo $someVar; else; echo 'a default value'; end)
42
이것은 일종의 장황하므로 변수가 설정되어 있지 않으면 다른 줄에서 변수를 초기화 할 수 있습니다.
> echo $otherVar
> set -q otherVar; or set otherVar 'a default value'
> echo $otherVar
a default value
기본 인라인으로 대체 할 수있는 기능을 원한다면 간접적으로 함수를 사용하여 해당 함수를 호출 할 수 있습니다.
> function orDefault
set -q $argv[1]; and echo $$argv[1]; or echo $argv[2]
end
>
> echo $moreVar
> echo (orDefault moreVar 'a default value')
a default value
> set moreVar 42
> echo (orDefault moreVar 'a default value')
42