در قسمت قبل در مورد دستور if و توابع شرطی توضیح داده شد.
در این قسمت با دستور case آشنا میشویم:
دستور case با کلمه کلیدی case شروع شده و با کلمه کلیدی esac تمام میشود.
به مثال زیر توجه کنید:
echo “Enter a number between 1 and 10. “
read NUM
case $NUM in
1) echo “one” ;;
2) echo “two” ;;
3) echo “three” ;;
4) echo “four” ;;
5) echo “five” ;;
6) echo “six” ;;
7) echo “seven” ;;
8) echo “eight” ;;
9) echo “nine” ;;
10) echo “ten” ;;
*) echo “INVALID NUMBER!” ;;
esac
در مثال بالا ورودی را به صورت عدد از کاربر گرفته و در متغیر NUM قرار میدهد, دستور Case مقدار NUM را بررسی میکند, و به ازای هر عدد یکی از دستورات تعیین شده را اجرا میکند. علامت * نشانگر “سایر موارد” است, در صورتی که هیچکدام از گزینه های تعیین شده (۱ تا ۱۰) با مقدار NUM برابر نباشد, دستور echo “INVALID NUMBER!” ;; اجرا میشود. از این دستور میتوان برای بررسی ورودی اسکریپت ها و پارامتر هایی که از کاربر دریافت میشود, به جای دستورات if تو در تو استفاده کرد.