ฉันกำลังมองหาไวยากรณ์ที่ถูกต้องของคำสั่งสลับกับกรณีที่ผิดพลาดใน Bash (นึกคิดกรณีเล็ก ๆ น้อย ๆ ) ใน PHP ฉันต้องการเขียนโปรแกรมเช่น:
switch($c) {
case 1:
do_this();
break;
case 2:
case 3:
do_what_you_are_supposed_to_do();
break;
default:
do_nothing();
}
ฉันต้องการเหมือนกันใน Bash:
case "$C" in
"1")
do_this()
;;
"2")
"3")
do_what_you_are_supposed_to_do()
;;
*)
do_nothing();
;;
esac
สิ่งนี้ไม่ทำงาน: ฟังก์ชั่นdo_what_you_are_supposed_to_do()
ควรถูกไล่ออกเมื่อ $ C เป็น 2 หรือ 3
do_nothing()
จะเป็นคำสั่งข้าม? :
ใช้
function fname { echo "Inside fname"; return 0; }
หรือfname() { echo "inside fname"; return 0; }
วาง parens ในการเรียกใช้ฟังก์ชั่นสามารถดูเหมือนว่ามันเป็นฟังก์ชั่นการขาดดุล ฟังก์ชั่นควรจะเรียกว่าเหมือนโปรแกรมบรรทัดคำสั่งอื่น ๆ เช่นmv
,cp
,rsync
,ls
,cd
ฯลฯ ... ในกรณีนี้เราเรียก fnamefname $ARGS
ชอบโดย: