Tôi đang tìm kiếm cú pháp chính xác của câu lệnh chuyển đổi với các trường hợp sai lầm trong Bash (lý tưởng không phân biệt chữ hoa chữ thường). Trong PHP tôi sẽ lập trình nó như sau:
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 điều tương tự ở Bash:
case "$C" in
"1")
do_this()
;;
"2")
"3")
do_what_you_are_supposed_to_do()
;;
*)
do_nothing();
;;
esac
Điều 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 được kích hoạt khi $ C là 2 HOẶC 3.
do_nothing()
sẽ là một tuyên bố SKIP? Sử dụng :
.
function fname { echo "Inside fname"; return 0; }
hoặcfname() { echo "inside fname"; return 0; }
đặt parens vào lệnh gọi hàm có thể trông giống như đó là một khiếm khuyết hàm. Chức năng nên được gọi là giống như bất kỳ chương trình dòng lệnh khác nhưmv
,cp
,rsync
,ls
,cd
, vv ... Trong trường hợp này chúng ta gọi là fname thích vậy:fname $ARGS
.