|
From: | Sidney Souza |
Subject: | Re: [shell-script] Problema com redirecionamento stderr dpkg-query |
Date: | Sat, 3 Jan 2015 12:00:47 -0200 |
Olá pessoal!
Fucei na man page do dpkg-query, pesquisei na web alguma solução existente e não encontrei.
Enfim, então aqui vai meu pequeno problema:
Escrevi um script para instalar automaticamente alguns pacotes .deb. A inteligência da coisa
seria o ato do script verificar se os pacotes já estão instalados antes de dar um dpkg -i pacote.deb.
Esta verificação se dá por meio do comando: dpkg-query -l nome_do_pacote
Vejam um fragmento do script:
DPKG="/usr/bin/dpkg-query"
function VerificaSafenet {
$DPKG -l safenetauthenticationclient | grep ^ii > /dev/null 2>&1
echo "$?"
}
Acontece que a mensagem de erro retornada pelo dpkg-query caso o pacote pesquisado
não exista é escrita na tela por um processo filho do dpkg-query.
Ex:
vitalino@PC:~$ dpkg-query -l pacote_inexistente
dpkg-query: não foram encontrados pacotes coincidindo com pacote_inexistente
vitalino@PC:~$
vitalino@PC:~$ dpkg-query -l pacote_inexistente 2> /dev/null
dpkg-query: não foram encontrados pacotes coincidindo com pacote_inexistente
vitalino@PC:~$
vitalino@PC:~$ dpkg-query -l pacote_inexistente > /dev/null 2>&1
dpkg-query: não foram encontrados pacotes coincidindo com pacote_inexistente
vitalino@PC:~$
Alguém pode me dar uma dica sobre como poderia controlar o stderr gerado por processos
filhos? Algo como a syscall dup2() para bash ou algo assim que inibisse o stderr
temporiamente... Pensei em fazer alguma gambiarrinha com tput para inibir a mensagem de erro.
Em último caso, minha solução seria criar "meu próprio dpkg-query":
function VerificaSafenet {
VAR=$(grep -A1 "Package: $1" /var/lib/dpkg/status; if [ $? -ne 0 ]; then echo '-1'; fi)
if [ "$VAR" -ne '-1' ]; then
echo $VAR | grep ' install' > /dev/null 2>&1
if [ $? -eq 0 ]; then
echo 0
else
echo 1
fi
fi
}
[]'s
Vitalino Victor
[Prev in Thread] Current Thread [Next in Thread]
- Problema com redirecionamento stderr dpkg-query, vitalino . victor, 2015/01/03
- Re: [shell-script] Problema com redirecionamento stderr dpkg-query, Sidney Souza <=
- Re: [shell-script] Problema com redirecionamento stderr dpkg-query, Paulo Bettega, 2015/01/03
- Re: Problema com redirecionamento stderr dpkg-query, vitalino . victor, 2015/01/03
- Prev by Date: Problema com redirecionamento stderr dpkg-query
- Next by Date: Re: [shell-script] Problema com redirecionamento stderr dpkg-query
- Previous by thread: Problema com redirecionamento stderr dpkg-query
- Next by thread: Re: [shell-script] Problema com redirecionamento stderr dpkg-query
- Index(es):