Bash에서 대소 문자가없는 switch 문의 올바른 구문을 찾고 있습니다 (이상적으로 대소 문자를 구분하지 않음). PHP에서는 다음과 같이 프로그래밍합니다.
switch($c) {
case 1:
do_this();
break;
case 2:
case 3:
do_what_you_are_supposed_to_do();
break;
default:
do_nothing();
}
Bash에서도 동일하게 원합니다.
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 일 때 함수 가 실행되어야합니다.
do_nothing()
SKIP 명세서가되어야합니까? 사용하십시오 :
.
Shellcheck 사용법 , bash 스크립트를 디버깅하는 방법을 참조하십시오 . (U & L.SE), bash 스크립트를 디버깅하는 방법? (SO), bash 스크립트를 디버깅하는 방법은 무엇입니까? (AskU), Bash 스크립트 디버깅 등
—
jww
function fname { echo "Inside fname"; return 0; }
또는fname() { echo "inside fname"; return 0; }
이 함수 (고화질)처럼 보일 수있는 함수 호출에 괄호를 배치. 기능은 다음과 같은 다른 명령 줄 프로그램처럼 호출되어야한다mv
,cp
,rsync
,ls
,cd
에 fname이 너무 좋아 우리가 부르는 경우 ... 등 :fname $ARGS
.