Strona 1 z 1
Sprawdzanie stanu pakietów w Bashu
: 05 listopada 2009, 16:49
autor: istrd
Jeszcze nie jestem tak obcykany w bashu i dlatego mam takie pytanie. Jak mogę sprawdzić, czy pakiet jest zainstalowany i jeżeli jest to wyświetlić komunikat ,,Pakiet zainstalowany''?
: 05 listopada 2009, 17:26
autor: jasiekmarc
Kod: Zaznacz cały
1 wyplute=`apt-cache policy $1 | grep -c brak`
2 if [ $wyplute == "1" ]
3 then
4 echo "Nie ma takiego pakietu"
5 else
6 echo "Pakiet zainstalowany"
7 fi
: 05 listopada 2009, 17:34
autor: istrd
jasiekmarc pisze:Kod: Zaznacz cały
1 wyplute=`apt-cache policy $1 | grep -c brak`
2 if [ $wyplute == "1" ]
3 then
4 echo "Nie ma takiego pakietu"
5 else
6 echo "Pakiet zainstalowany"
7 fi
Dzięki wielkie działa :P
: 05 listopada 2009, 17:44
autor: lessmian2
jasiekmarc pisze:wyplute=`apt-cache policy $1 | grep -c brak`
Tak średnio raczej, bo jak podasz nazwę pakietu który nie istnieje to dostaniesz coś takiego
W: Nie udało się odnaleźć pakietu vimrc
Pakiet zainstalowany
Już prędzej tak:
Kod: Zaznacz cały
wyplute=`apt-cache policy $1 2>&1 >/dev/null | grep -c "brak|Nie"`
: 05 listopada 2009, 18:37
autor: jasiekmarc
lessmian2 pisze:jasiekmarc pisze:wyplute=`apt-cache policy $1 | grep -c brak`
Tak średnio raczej, bo jak podasz nazwę pakietu który nie istnieje to dostaniesz coś takiego
W: Nie udało się odnaleźć pakietu vimrc
Pakiet zainstalowany
To prawda.
lessmian2 pisze:Już prędzej tak:
Kod: Zaznacz cały
wyplute=`apt-cache policy $1 2>&1 >/dev/null | grep -c "brak|Nie"`
A to już nie, gdyż w ten sposób wszystkie pakiety są uważane za zainstalowane.
: 05 listopada 2009, 18:51
autor: lessmian2
Tak, masz rację. Z resztą jak teraz na to patrzę, to to nie ma prawa działać poprawnie ;-) Lepiej jest tak:
Kod: Zaznacz cały
if [ `dpkg -l | grep -c $1` == 0 ]
then
echo "Nie ma takiego pakietu"
else
echo "Pakiet zainstalowany"
fi