นี่คือตัวเลือกบางส่วน:
1- ใช้ถ้าหากเป็นอย่างอื่นในบรรทัดเดียวก็เป็นไปได้
if [[ "$2" == "raiz" ]] || [[ "$2" == '.' ]]; then pasta=''; else pasta="$2"; fi
2- เขียนฟังก์ชั่นเช่นนี้:
# Once upon a time, there was an 'iif' function in MS VB ...
function iif(){
# Echoes $2 if 1,banana,true,etc and $3 if false,null,0,''
case $1 in ''|false|FALSE|null|NULL|0) echo $3;;*) echo $2;;esac
}
ใช้ภายในสคริปต์เช่นนี้
result=`iif "$expr" 'yes' 'no'`
# or even interpolating:
result=`iif "$expr" "positive" "negative, because $1 is not true"`
3- แรงบันดาลใจในคำตอบกรณีมีความยืดหยุ่นมากขึ้นและใช้หนึ่งบรรทัดคือ:
case "$expr" in ''|false|FALSE|null|NULL|0) echo "no...$expr";;*) echo "yep $expr";;esac
# Expression can be something like:
expr=`expr "$var1" '>' "$var2"`
bash
มีบางสิ่งที่คล้ายกับ "ผู้ประกอบการที่ประกอบไปด้วยไตรภาค" อย่างไรก็ตามในbash
สิ่งนี้เรียกว่า "ผู้ประกอบการที่มีเงื่อนไข"expr?expr:expr
(ดูที่man bash
ส่วนการข้ามไปสู่ พึงระลึกไว้เสมอว่าbash
"โอเปอเรเตอร์ที่มีเงื่อนไข" นั้นยุ่งยากและมี gotchas อยู่บ้าง