shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Descobrir a distro


From: Tiago Barcellos Peczenyj
Subject: Re: [shell-script] Descobrir a distro
Date: Sat, 11 Feb 2006 04:21:46 -0200

Ora, vc tem uma variavel de ambiente chamada MACHTYPE, não tem que
fazer set | grep variavel ... usa ela direto

case "${MACHTYPE}" in
*cygwin*)    echo "hummm vc ta usando o Cygwin" ;;
*suse*)       echo "Suse heim, legal" ;;
*mandriva*) echo "Mandriva ? q nome horrivel" ;;
*)               echo "ah , sei la, tu ta usando algo diferente" ;;
esac

Barbada, heim ?

Tu tambem podes fazer assim, tche:

if [[ "${MACHTYPE}" =~ ".*cygwin.*" ]]
then echo "Aha, usando o Winzolzao veio de guerra... tsc tsc"
fi

ou

if grep -q cygwin <(echo "${MACHTYPE}")
 then echo "Aha, usando o Winzolzao veio de guerra... tsc tsc"
 fi

a primeira forma vc usa o teste [[  ... ]] para casar o valor da
variavel com a expressão regular ".*cygwin.*" -- perceba como é
diferente da expressão no 'case'

a segunda usa o grep pra procurar a string a palavra cygwin na
variavel MACHTYPE de uma forma extravagante.

Agora saca só como pode ficar o teu script:

#!/bin/bash
case "${MACHTYPE}" in
*suse*)       SERVICE="/usr/sbin/rcxmpm" ;;
 *mandriva*) SERVICE="service xmpm" ;;
# pode remover a linha abaixo se quiser... o *) não é obrigatório
*) echo "Não eh SuSe nem Mandriva, eh '${MACHTYPE}', saindo fora...."
; exit 1 ;;
esac

echo -n "Turning off the service..."
sudo $SERVICE stop  &&  echo "Done!" || echo "NOK!!!"

Como vc pode ver, tem muitas formas de fazer o que vc quer.




Em 11/02/06, Ricardo Costa <address@hidden> escreveu:
>     Olá pessoal, meu problema é o seguinte tenh oum script genérico para as 
> distros Suse10 e Mandriva2006, e preciso de uma maneira de verificar qual a 
> distro pra executar determinado comando, eu estava fazedno da segfuinte 
> maneira:
>
>  COMMAND=$(set | grep MACHTYPE)
>  if [ "$COMMAND" == "MACHTYPE=i686-suse-linux" ]
>     then
>        echo "Turning off the service..."
>        sudo /usr/sbin/rcxmpm stop
>        echo "Done!"
>  else
>     if [ "$COMMAND" == "MACHTYPE=i586-mandriva-linux-gnu" ]
>         then
>            echo "Turning off the service..."
>             sudo service xmpm stop
>         echo "Done!"
>     fi
>  fi
>
>  Mas como vcs podem ver naum tah tao generico assim , queria que esse meu set 
> | grep MACHTYPE ???? retornasse só a palavra suse ou soh mandriva pra eu 
> poder comparar melhor e pra que funcionasse em qualquer tipo de instalação do 
> suse ou mandriva.
>
>  Obrigado!!
>
>
>  ---------------------------------
>   Yahoo! Acesso Grátis
>  Internet rápida e grátis. Instale o discador agora!
>
>  [As partes desta mensagem que não continham texto foram removidas]
>
>
>
>   ---------------------------------------------------------------------
>  Esta lista não admite a abordagem de outras liguagens de programação, como 
> perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio 
> aviso.
>  ---------------------------------------------------------------------
>  Sair da lista: address@hidden
>  ---------------------------------------------------------------------
>  Esta lista é moderada de acordo com o previsto em 
> http://www.listas-discussao.cjb.net
>  ---------------------------------------------------------------------
>  Servidor Newsgroup da lista: news.gmane.org
>  Grupo: gmane.org.user-groups.programming.shell.brazil
>
>
>
>
>
>          Yahoo! Grupos, um serviço oferecido por:
>
> PUBLICIDADE
>
>    ________________________________
 Links do Yahoo! Grupos
>
>
> Para visitar o site do seu grupo na web, acesse:
> http://br.groups.yahoo.com/group/shell-script/
>
> Para sair deste grupo, envie um e-mail para:
> address@hidden
>
> O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço do 
> Yahoo!.



--
Tiago B Peczenyj
Linux User #405772

# cd /pub
# more beer


reply via email to

[Prev in Thread] Current Thread [Next in Thread]