./testecut: line 25: [: missing `]' [RESOLVIDO]

Iniciado por edipokbelo, 11 de Maio de 2009, 11:55

tópico anterior - próximo tópico

edipokbelo

bom galera eu fiz um script para baixar e instalar o skype no debian
mas ele dá esse erro ./testecut: line 25: [: missing `]'

e também não compara o IF direito, sempre diz que o pacote não esta instalado
mas ele está sim.

eu sei que aqui é um fórum de ubuntu e não debian, mas a minha dúvida é sobre shell e não sobre o a distro.


segue o código:

#!/bin/bash

#instalar o Skype ;) by Edipokbelo

clear
echo "Começando ..."

#baixando o skype versão .deb
wget http://www.skype.com/go/getskype-linux-deb

echo "para instalação do skype é necessaria 2 pacotes no seu sistema"
echo "verificando pacotes..."

#listando os pacotes instalados
dpkg --get-selections > pacotes.txt

#copiando o nome do pacote libqt4-gui e seu status
sed -e '/libqt4-gui/!d' pacotes.txt > libgui.txt
sed -e '/libqt4-core/!d' pacotes.txt > libcore.txt
PACOTE=`cut -c1-10 libgui.txt`
STATUS=`cut -c16-22 libgui.txt`
PACOTI=`cut -c1-11 libcore.txt`
STATUSI=`cut -c17-23 libcore.txt`

if [ "$PACOTE"="libqt4-gui" && "$STATUS"="install" ]
then
echo "pacote libqt4-gui esta instalado"
else
echo "não esta instalado,deseja instala-lo?(s\n)"
read RESPOSTA
if [ "$RESPOSTA"="s" ] || [ "$RESPOSTA"="S" ]
then
echo "Instalando pacote libqt4-gui..."
aptitude install libqt4-gui
else
echo "Ok, não deseja instalar"
fi
fi


if [ "$PACOTI"="libqt4-core" && "$STATUSI"="install" ]
then
echo "pacote libqt4-core esta instalado"
else
echo "nao esta instalado, deseja instala-lo?(s/n)"
read RESPOSTAS
if [ "$RESPOSTAS"="s" ] || [ "$RESPOSTAS"="S" ]
then
echo "Instalando pacote libqt4-core..."
aptitude install libqt4-core
else
echo "ok, nao deseja instalar"
fi
fi

echo "instalando o skype (finalmente!)"
dpkg -i skype-debian_2.0.0.72-1_i386.deb

rm libgui.txt
rm libcore.txt
rm pacotes.txt


se tiver outro jeito de verificar se um pacote esta instalado no sistema
eu aceito como sugestão

e se não puderem tirar minha dúvida devido o script ser para outra distro, tudo bem eu entendo

edipokbelo

resolvi

troquei o jeito de verificar se o pacote estava instalado

usei um dpkg -S nomedopacote

esta funcionando 100%  ;)