Saber se o programa esta instalado? [RESOLVIDO]

1. Saber se o programa esta instalado? [RESOLVIDO]

Leandro Pinheiro Leonardo
leandro2103

(usa Linux Mint)

Enviado em 26/08/2011 - 10:43h

bom dia galera do VOL, Queria saber como faço um if para saber se o programa sendEmail esta instalado se não instale?

desde já agradeço.


  


2. MELHOR RESPOSTA

Geraldo Albuquerque
AprendiNoLinux

(usa Ubuntu)

Enviado em 26/08/2011 - 10:48h

Use: which , exemplo:

$ which sendmail

retorna se existir: "sendmail é /usr/sbin/sendmail"

$ which sendmailx

retorno se não existir: "bash: type: sendmailx: não encontrado"

ou use o próprio type diretamente.








3. Re: Saber se o programa esta instalado? [RESOLVIDO]

Raimundo Alves Portela
rai3mb

(usa Outra)

Enviado em 26/08/2011 - 11:02h

POde fazer assim:

which sendmail || apt-get install sendmail*


É só executar seu script como root, ou coloca um sudo antes e o usuário vai ter que digitar a senha do mesmo, ou vai ter que executar seu script usando o sudo antes. :-)


4. Re: Saber se o programa esta instalado? [RESOLVIDO]

Lucas Doná Sfalcin
lucasdona

(usa Linux Mint)

Enviado em 26/08/2011 - 11:13h

dpkg --get-selections | grep nome

Se está instalado irá te retornar os pacotes instalado do programa, exemplo

lucas@lucas-K8N:~$ dpkg --get-selections | grep gimp
gimp install
gimp-data install
libgimp2.0 install


5. Re: Saber se o programa esta instalado? [RESOLVIDO]

Lucas Doná Sfalcin
lucasdona

(usa Linux Mint)

Enviado em 26/08/2011 - 11:21h

PROGRAMA=$(dpkg --get-selection | grep gimp | wc -l)
echo $PROGRAMA
if [ $PROGRAMA -eq 0 ]
then
sudo apt-get install ---
else
echo "Já está instalado"
fi

Seria +- assim, o comando dpkg te retorna o numnero de linhas listadas, se te retornou 3 pacote instalados, imprimirá na tela 3, e o if se for igual a 0, significa que não está instalado, aí dentro do if tem que ver como faz para pegar o nome do que será instalado, pode fazer uma entrada de dados e mandar pesquisar por ela por exemplo.


6. Re: Saber se o programa esta instalado? [RESOLVIDO]

Geraldo Albuquerque
AprendiNoLinux

(usa Ubuntu)

Enviado em 26/08/2011 - 11:27h

#!/bin/bash
myarq="sendxmail"
if which -a "$myarq"
then
echo "Já existe o programa $myarq "
read -t 1
else
echo "Tentando instalar o programa $myarq , será necessário senha !!!"
read -t 5
sudo apt-get install $myarq -y
fi

exit

--------------------------
Testei o danado e realmente só vai pedir senha se o programa não existir.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts