Pular para o conteúdo

dep-info - verificar se o programa está instalado no sistema

Programa feito em shell-bash para verificar se o programa está instalado no sistema, ou não.

Modo de uso:

Dê permissão de execução:

$ chmod +x dep-info

Rode em linha de comando:

$ ./dep-info firefox

ou:

$ ./dep-info firefox dialog google-chrome

Saída:

$ ./dep-info firefox dialog google-chrome leafpad mousepad
    firefox......[OK]
    dialog......[OK]
    google-chrome......[NO]
    leafpad......[NO]
    mousepad......[NO]
Slackjeff slackjeff
Hits: 2.598 Categoria: Shell Script Subcategoria: Miscelânea
  • Download
  • Nova versão
  • Indicar
  • Denunciar

Descrição

Programa feito em shell-bash para verificar se o programa está instalado no sistema, ou não.

Modo de uso:

Dê permissão de execução:

$ chmod +x dep-info

Rode em linha de comando:

$ ./dep-info firefox

ou:

$ ./dep-info firefox dialog google-chrome

Saída:

$ ./dep-info firefox dialog google-chrome leafpad mousepad
    firefox......[OK]
    dialog......[OK]
    google-chrome......[NO]
    leafpad......[NO]
    mousepad......[NO]
Download dep-info Enviar nova versão

Esconder código-fonte

#!/usr/bin/env bash
# NÃO UTRAPASSE O '|'
#-------HEADER---------------------------------------------------------------------|
#AUTOR
#   Jefferson Rocha <lrcjefferson@gmail.com>
#
#HOMEPAGE
#   https://slackjeff.github.io/
#
#PROGRAMA
#   dep-info
#
#DESCRIÇÃO
#   Verificar se o programa existe no sistema.
#
#PARA MAIS PROGRAMAS COMO ESTE
#   https://notabug.org/jeffersonrocha
#----------------------------------------------------------------------------------|

# Colors
end="\033[m"
green="\033[32;1m"
red="\033[31;1m"

# Conferindo se existe no sistema.
while :; do
  for i in $1; do
      if ! type -P $i >/dev/null; then
          echo -e "$i......${red}[NO]${end}"
      else
          echo -e "$i......${green}[OK]${end}"
      fi        
  done
  # Se é a entrada é nula para, se não rebaixa e continua.
  if [[ -z "$1" ]]; then
      break
  else
      shift
  fi         
done # fecha while

Automatizar backup do PostgreSQL

Diversao em Shell

Automatizando a geração de relatórios do SARG

Backup de arquivos

Ano bissexto

#1 Comentário enviado por raserafim em 10/03/2018 - 18:50h
para quais sistemas (distribuições) este script serve?

testei no Slackware e funcionou!
#2 Comentário enviado por raserafim em 10/03/2018 - 18:59h
não consegui entender a lógica do teste (if ! type -P $i >/dev/null; then)

Isto é, não consegui entender como o "type -P" consegue ajudar a saber se um determinado pacote está instalado..
#3 Comentário enviado por slackjeff em 10/03/2018 - 19:54h
@raserafim, Sobre o type, faz a mesma coisa que o comando which, ele tente localizar no path do sistema o determinado programa que você passou.
Poderia usar o which porem funciona apenas no bash e algumas derivações, se for fazer algo mais portável é interessante usar o type com o parâmetro -p...
Utilizei ele por questão de mania, mas poderia usar simplesmente o which no lugar!

# which firefox
# which google-chrome-stable


THE MAGIC SHELL PROGRAMMER.

Slackware user since ~2008
Meu canal no youtube:
https://www.youtube.com/SlackJeff

Meu Site:
http://www.slackjeff.com.br/

Meus Programas estão aqui:
https://notabug.org/jeffersonrocha

Meu PODCAST:
http://podcast.slackjeff.com.br/




#4 Comentário enviado por raserafim em 12/03/2018 - 15:30h
interessante...!

não conhecia essas possibilidades.

valeu pelas explicações.

obrigado!

Contribuir com comentário

Entre na sua conta para comentar.