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
.