我正在寻找开关语句的正确语法与在Bash(理想情况下不区分大小写)传递案件。 在PHP我会编程,它想:切换案例与fallthrough?
switch($c) {
case 1:
do_this();
break;
case 2:
case 3:
do_what_you_are_supposed_to_do();
break;
default:
do_nothing();
}
我希望同样的击:
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。
不使用通话功能与括号!既然你可以在bash中使用'function fname {echo“Inside fname”;返回0; }'或'fname(){echo“inside fname”;}返回0; }'把parens放在一个函数调用上看起来像是一个函数定义。函数应该像任何其他命令行程序一样被调用,例如'mv','cp','rsync','ls','cd'等等......在这种情况下,我们调用fname如下:'fname $ ARGS' 。 – 2015-12-17 17:36:04
'do_nothing()'应该是一个SKIP语句?使用':'。 – sjas 2016-07-21 12:01:45