qual é o padrão certo para corresponder ao meu comando

1

OS: AIX 7.1
Eu estou trabalhando em um script de shell que permite ao usuário inserir algum comando e executá-lo, um dos comandos é desta forma:

compile appname

o nome do aplicativo só pode ser um dos [ccms | asws], qual é o padrão correto para combiná-lo na instrução case?

aqui está o meu script de shell:

while true
do
 read cmd
 case $cmd in
 "compile(\s)(ccms)|(asws)") compile
  ;;
 *) break
  ;;
 esac
done

compile(){
 ...
}
    
por CaiNiaoCoder 11.07.2014 / 11:01

2 respostas

1

Deixe o comando read para a divisão.

read cmd arguments
case $cmd in
  compile)
    …
    ;;
esac
    
por 13.07.2014 / 02:03
0

Isso deve funcionar em qualquer shell compatível com POSIX:

case $cmd in
    "compile ccms"|"compile asws") compile
    ;;
    *) break
    ;;
esac
    
por 11.07.2014 / 21:58

Tags