หากต้องการอ้างอิงตัวแปรและระบุค่าเริ่มต้นในบรรทัดคุณสามารถใช้การทดแทนคำสั่งที่มีเงื่อนไขซึ่งใช้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
เนื่องจากนี่เป็นชนิดของ verbose คุณสามารถเริ่มต้นตัวแปรในบรรทัดอื่นเมื่อไม่ได้ตั้งค่า
> 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