Funções de um Case [RESOLVIDO]

1. Funções de um Case [RESOLVIDO]

Franco
caspper

(usa Solaris)

Enviado em 27/10/2009 - 15:42h

Pessoal, preciso de um help
Estou precisando usar um case com condições, isso iria me facilitar muito a criação de um script, vcs sabem se isto é possível?
Preciso algo como:

case $variavel in
(Condição1, Condição2)
;;
(Condição3, Condição4)
;;
(Condição5, Condição6, Condição 7)
;;
(Condição8)
;;
esac


  


2. MELHOR RESPOSTA

DAVISON MARCEL PASQUALINI
fdmarp

(usa Debian)

Enviado em 28/10/2009 - 19:08h

case $variavel in

"Condição1" | "Condição2" )
echo "faz isso"
;;
"Condição3" )
echo "faz aquilo"
;;
esac


É isso?

3. Re: Funções de um Case [RESOLVIDO]

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 27/10/2009 - 15:59h

Fala como vc quer fazer o seu script q ajudaremos.


4. Re: Funções de um Case [RESOLVIDO]

Franco
caspper

(usa Solaris)

Enviado em 27/10/2009 - 16:14h

Eu preciso instalar um programa (BMC Control-SA) no Solaris, no momento nós temos 8 versões de Solaris e 3 versões do Control-SA, eu preciso de um script simples para gerenciar estas instalações e ser fácil de dar manutenção no futuro.
Versões Control-SA (3.1.7.200, 3.1.7.400 e 3.1.11)
Versões Solaris (1.0.0, 1.1.0, 1.1.1, 1.2.0, 1.2.1, 1.2.2, 1.3.0 e 1.4.0)

As versões 1.0.0, 1.1.0, 1.1.1 e 1.2.0 do Solaris instalam a versão 3.1.7.200 do Control-SA
As versões 1.2.1, 1.2.2 instalam a versão 3.1.7.400
E as versões 1.3.0 e 1.4.0 instalam a versão 3.1.11

Acho que é mais ou menos isso,

Valeu


5. Re: Funções de um Case [RESOLVIDO]

nelio
neliobjr

(usa Red Hat)

Enviado em 27/10/2009 - 16:28h

Cara, não conseguir visualizar como vc vai fazer esta inst. no solaris, mas segue um exemplo de como utilizar um case:

#!/bin/sh


inicio (){
echo digite 1 para backup
echo digite 2 para restore
read var


case $var in
1) backup;;
2) restore;;
*) clear; echo 'saindo do programa'; exit;;
esac
}

backup (){
echo vc escolheu backup
}

restore (){
echo vc escolheu restore
}

inicio


# FIM

espero que ajude.


6. Re: Funções de um Case [RESOLVIDO]

Franco
caspper

(usa Solaris)

Enviado em 27/10/2009 - 16:39h

então pessoal eu sei usar o comando case, porém eu gostaria de saber se tem como eu usar o OU junto, eu explico:

case $OSVERSION in
(1.0.0, 1.1.0, 1.2.0) # Aqui é o OU, se for uma dessas versões eles instala a versão 3.1.07.200
echo "Instalando a versão 3.1.07.200 do Control-SA
.
.
.
.
esac

Deu pra vcs entenderem? Se o Solaris for um destes tres ele instala a versão certa do programa...
Eu quero fazer desse jeito para evitar de fazer uma condição para cada versão de Solaris.


7. Re: Funções de um Case [RESOLVIDO]

nelio
neliobjr

(usa Red Hat)

Enviado em 27/10/2009 - 17:35h

Cara, entendi sim, mas acredito que a melhor maneira é com if, como fiz no script abaixo,coloquei com variaveis, assim, como vc pretende uma manutençao futura, fica mais facil, sem precisar ficar se mantando no codigo.

Da um implemantada com sua necessidade e se precisar de ajuda, fala ai.... , coisas como, buscar a versão em um arquivo, sem necessidade de digitar qual seja, etc.

#!/bin/sh

inicio (){
echo a versao do software
read osversion

if [ "$osversion" == "1.0.0" ] || [ "$osversion" == "1.1.0" ] || [ "$osversion" == "1.2.0" ] ; then
ver_1
elif [ "$osversion" == "3.1.07.200" ]; then
ver_3
else
echo versao nao existe
fi
}

ver_1 (){
echo vc escolheu versao 1.*
}

ver_3 (){
echo vc escolheu versao 3.1
}

inicio

# FIM


8. Re: Funções de um Case [RESOLVIDO]

Franco
caspper

(usa Solaris)

Enviado em 01/11/2009 - 18:36h

Isso mesmo fdmarp, resolveu meu problema. Show de bola
mto obrigado






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts