Tôi đang tìm cú pháp chính xác của câu lệnh switch với các trường hợp fallthrough trong Bash (lý tưởng không phân biệt chữ hoa chữ thường). Trong PHP tôi sẽ chương trình nó thích:Chuyển đổi trường hợp với fallthrough?
switch($c) {
case 1:
do_this();
break;
case 2:
case 3:
do_what_you_are_supposed_to_do();
break;
default:
do_nothing();
}
Tôi muốn cùng trong Bash:
case "$C" in
"1")
do_this()
;;
"2")
"3")
do_what_you_are_supposed_to_do()
;;
*)
do_nothing();
;;
esac
này bằng cách nào đó không hoạt động: chức năng do_what_you_are_supposed_to_do()
nên bị sa thải khi $ C là 2 hoặc 3.
Không sử dụng chức năng cuộc gọi với Parens !!! Vì bạn có thể định nghĩa một hàm trong bash bằng cách sử dụng 'function fname {echo" Inside fname "; trả về 0; } 'hoặc' fname() {echo "bên trong fname"; trả về 0; } 'đặt parens trên một cuộc gọi hàm có thể trông giống như đó là một hàm defintion. Các hàm nên được gọi như bất kỳ chương trình dòng lệnh nào khác như 'mv',' cp', 'rsync',' ls', 'cd', v.v ... Trong trường hợp này, chúng ta gọi fname như sau:' fname $ ARGS' . –
'do_nothing()' có phải là tuyên bố SKIP không? Sử dụng ':'. – sjas