OS: AIX 7.1
저는 사용자가 몇 가지 명령을 입력하고 실행할 수 있는 쉘 스크립트를 작성 중입니다. 명령 중 하나는 다음과 같은 형식을 취합니다.
compile appname
애플리케이션 이름은 [ccms|asws] 중 하나만 가능합니다. Case 문에서 이를 일치시키는 올바른 패턴은 무엇입니까?
이것은 내 쉘 스크립트입니다.
while true
do
read cmd
case $cmd in
"compile(\s)(ccms)|(asws)") compile
;;
*) break
;;
esac
done
compile(){
...
}
답변1
read
명령을 나누 십시오 .
read cmd arguments
case $cmd in
compile)
…
;;
esac
답변2
이는 모든 POSIX 호환 셸에서 작동합니다.
case $cmd in
"compile ccms"|"compile asws") compile
;;
*) break
;;
esac