[BASH]Sprawdzanie 10 mail`i, hasła i loginy z pliku

Bash, C, C++, Java, PHP, Ruby, GTK, Qt i wiele innych - wszystko tutaj.
titol
Piegowaty Guziec
Piegowaty Guziec
Posty: 6
Rejestracja: 30 lis 2008, 16:01
Płeć: Mężczyzna
Wersja Ubuntu: 8.10
Środowisko graficzne: GNOME

[BASH]Sprawdzanie 10 mail`i, hasła i loginy z pliku

Post autor: titol »

No więc na wstępie napiszę, że dopiero uczę się Bash`a i mam mały problem z pętlą.
Mój skrypt ma sprawdzać po kolei ile nowych wiadomości mam na kontach mailowych (jest ich 10, wszystkie na gmail`u) i dopisywać wynik do pliku. Na razie mam coś takiego:

Kod: Zaznacz cały

#!/bin/bash
login=1;
haslo=2;
while ${login}< 20 ; do
${login}=${login}+2;
while ${haslo}<21 ; do
${haslo}=${haslo}+2;
gmail_login=`sed -n ${login}p /home/profil/loginy.txt`
gmail_password=`sed -n ${haslo}p /home/profil/loginy.txt`
  
dane="$(wget --secure-protocol=TLSv1 --timeout=3 -t 1 -q -O - \
https://${gmail_login}:${gmail_password}@mail.google.com/mail/feed/atom \
--no-check-certificate | grep 'fullcount' \
| sed -e 's/.*<fullcount>//;s/<\/fullcount>.*//' 2>/dev/null)"
  
if [ -z "$dane" ]; then
echo "Problem Z Połączeniem ! $gmail_login"
else
echo $gmail_login >> /home/profil/wyniki.txt
echo $dane >> /home/profil/wyniki.txt
echo "---" >> /home/profil/wyniki.txt
fi
done
done
loginy i hasła są w takiej kolejności
loginy.txt:

Kod: Zaznacz cały

login1
haslo1
login2
haslo2
itd.
Byłbym bardzo wdzięczny za pomoc lub jakieś wskazówki
terrapin
Piegowaty Guziec
Piegowaty Guziec
Posty: 8
Rejestracja: 07 mar 2009, 08:24
Płeć: Mężczyzna
Wersja Ubuntu: 9.04
Środowisko graficzne: GNOME

Odp: [BASH]Sprawdzanie 10 mail`i, hasła i loginy z pliku

Post autor: terrapin »

struktura pętli white powinna wygladać tak:

Kod: Zaznacz cały

while [ jakis warunek]
do
    polecenia
done

a dodawanie tez nie moze w ten prosty sposob pracować, do prostych operacji arytmetycznych w powłoce używam programu bc, wtedy np.

Kod: Zaznacz cały

zmienna=1

zmienna2=$(echo "scale=1; var=$zmienna + 2; print var" | bc)
echo $zmienna2

EDIT:
popatrz np na działanie tego skryptu:

Kod: Zaznacz cały


zmienna=1
while [ "$zmienna" != "21" ]
do
 zmienna2=$(echo "scale=1; var=$zmienna + 2; print var" | bc)
 echo $zmienna2
 zmienna=`echo $zmienna2`
done



dolozysz do tego seda i wszystko śmiga
Awatar użytkownika
leon1313
Zakręcona Traszka
Zakręcona Traszka
Posty: 668
Rejestracja: 02 sty 2006, 19:35
Płeć: Mężczyzna
Wersja Ubuntu: 10.10
Środowisko graficzne: KDE Plasma
Architektura: x86

Odp: [BASH]Sprawdzanie 10 mail`i, hasła i loginy z pliku

Post autor: leon1313 »

Jeśli to nie musi być w BASH-u, to mogę ci zapodac gotowca w PERL-u, opartego na:
http://rasterweb.net/raster/code/src/gmailpop_pl.txt
"Poza tym dostałeś PLONKa i zabraniam Ci pisać na te grupe!!! Powiedziałem PLONK i sie zamknij i nawet nie knuj rzeby mi odpisywać! Zabraniam!!!"
titol
Piegowaty Guziec
Piegowaty Guziec
Posty: 6
Rejestracja: 30 lis 2008, 16:01
Płeć: Mężczyzna
Wersja Ubuntu: 8.10
Środowisko graficzne: GNOME

Odp: [BASH]Sprawdzanie 10 mail`i, hasła i loginy z pliku

Post autor: titol »

Nie dziękuje już poradziłem sobie z tym, wszystko działa dobrze. Dzięki za pomoc terrapin
ODPOWIEDZ

Wróć do „Programowanie”

Kto jest online

Użytkownicy przeglądający to forum: Google [Bot] i 10 gości