Estou procurando a sintaxe correta da instrução switch com casos de queda no Bash (idealmente sem distinção entre maiúsculas e minúsculas). No PHP eu programava como:
switch($c) {
case 1:
do_this();
break;
case 2:
case 3:
do_what_you_are_supposed_to_do();
break;
default:
do_nothing();
}
Eu quero o mesmo no Bash:
case "$C" in
"1")
do_this()
;;
"2")
"3")
do_what_you_are_supposed_to_do()
;;
*)
do_nothing();
;;
esac
De alguma forma, isso não funciona: a função do_what_you_are_supposed_to_do()deve ser acionada quando $ C for 2 OU 3.
do_nothing()deve ser uma declaração SKIP? Use :.
function fname { echo "Inside fname"; return 0; }oufname() { echo "inside fname"; return 0; }colocando parens em uma chamada de função, pode parecer uma definição de função. Funções devem ser chamadas como qualquer outro programa de linha de comando, comomv,cp,rsync,ls,cd, etc ... Neste caso nós chamamos fname assim:fname $ARGS.