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

Publicado por Slackjeff (última atualização em 02/03/2018)

[ Hits: 1.945 ]

Homepage: https://slackjeff.com.br

Download dep-info




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]

  



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

Scripts recomendados

Mounter - Script para montar pendrive.

Verificar e efetua o download da nova versão do antivirus McAfee

Busca e copia arquivos renomeando-os conforme a máscara

Logs do daemontools - tradução de timestamp

Script para desmontar partição/unidade


  

Comentários
[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


[b]THE MAGIC SHELL PROGRAMMER.[/b]
[code]
Slackware user since ~2008
[b]Meu canal no youtube: [/b]
https://www.youtube.com/SlackJeff

[b]Meu Site:[/b]
[b]http://www.slackjeff.com.br/[/b]

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

[b]Meu PODCAST:[/b]
http://podcast.slackjeff.com.br/
[/code]




[4] Comentário enviado por raserafim em 12/03/2018 - 15:30h

interessante...!

não conhecia essas possibilidades.

valeu pelas explicações.

obrigado!

[5] Comentário enviado por hauck em 01/02/2020 - 15:29h

Boa tarde, existe algum comando que faça o mesmo que o cut?
Depois de enviar o comentário eu vi um PDF com os comandos, olha aqui:
http://manuals.ts.fujitsu.com/file/8867/posix_k.pdf


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts