kfr Napisano Styczeń 10, 2006 Zgłoszenie Share Napisano Styczeń 10, 2006 Witam. Chciałbym napisać skrypt w BASHu który sprawdza czy mam nawiązane połączenie z internetem za pomocą polecenia startadsl a jeśli nie to aby wykonywał się inny skrypt który napisałem (powiedzmy, że o nazwie XXX który jest umieszczony w katalogu YYY). Mój problem polega na tym, jak sprawdzić czy jest nawiązane połączenie z internetem (bo gdy czasem wracam do domu po pracy to mam kabel telefoniczny odłączony i jest zerwane połączenie). Uruchomienie skryptu następowałoby na przykład przez polecenie "at now +2 hours" Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
Karol Napisano Styczeń 10, 2006 Zgłoszenie Share Napisano Styczeń 10, 2006 bash-3.00# startadsl Connection seems to be already started! bash-3.00# Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
kfr Napisano Styczeń 10, 2006 Autor Zgłoszenie Share Napisano Styczeń 10, 2006 Dobra, ale nie o to mi chodziło. Chodzi o to, żeby skrypt sprawdzał czy jest nawiązane połączenie z internetem, a jeśli nie, to uruchamiał się inny skrypt. Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
yoda6886 Napisano Styczeń 11, 2006 Zgłoszenie Share Napisano Styczeń 11, 2006 przeczytaj mana startadsl. zobacz czy ta funkcja zwraca jakas wartosc. jesli tak to zrob cos takiego: if [ "startadsl" = "cos" ]; then /YYY/XXX Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
kfr Napisano Styczeń 11, 2006 Autor Zgłoszenie Share Napisano Styczeń 11, 2006 Nie rozumiecie mnie. Chodzi mi o to, żeby było sprawdzane czy jest NAWIĄZANE połączenie z INTERNETEM, a nie czy aplikacja jest odpalona. Jeśli mam odpalone połączenie i ktoś mi odłączy kabel telefoniczny, to aplikacja nie zostanie zakończona. Muszę wpisać ręcznie stopadsli dopiero ponownie startadsl po podłączeniu kabla bo nawet jeśli będe miał startadsl i odłączę kabel to startadsl i tak mi będzie zwracać wartość 1 (która oznacza, że połączenie już jest nawiązane). Nie zostanie ono automatycznie przywrócone po podłaczeniu kabla. Chodzi mi o to: IF brak połączenia z internetem THEN stopadsl startadsl fi IF połączenie jest nawiązane THEN nic nie rób fi Chociażby pingnąć jakiś serwer który w miarę stabilny jest, jeśli pakiety są odebrane to znaczy, że połączenie jest nawiązane i nic skrypt dalej nie musi robić. Tylko jak sprawdzić jaka wartość jest pingiem zwracana aby zastosować to razem z IF? - to tylko taki mój mały pomysł O. Mam: "Jeśli ping nie odbierze żadnych pakietów odpowiedzi, to zakończy dzia łanie z kodem wyjścia 1. W przypadku błędu kod ten wynosi 2. W przeciwnym razie zwracane jest 0. Umożliwia to używanie kodu wyjścia do sprawdzania czy hosty żyją, czy gryzą ziemię." Więc próbuję napisać skrypt: #!/bin/bash T1="ping www.wp.pl -c 2 " T2="0" if ["$T1"!= "$T2"]; then stopadsl echo "Czekaj..." startadsl echo "Przywrocono polaczenie z internetem" fi ale gdy chcę wykonać skrypt (któremu dałem uprawnienia chmod 755) dostaję wynik: [kfr@KFR ~]$ ./sprawdz.sh ./sprawdz.sh: line 5: [ping www.wp.pl -c 2 !=: command not found Nie wiem gdzie błąd jest? I czy jest lepszy sposób na sprawdzenie czy połączenie jest aktywne? Bo ping może trochę sieć obciążać. Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
przemk Napisano Styczeń 11, 2006 Zgłoszenie Share Napisano Styczeń 11, 2006 [kfr@KFR ~]$ ./sprawdz.sh ./sprawdz.sh: line 5: [ping www.wp.pl -c 2 !=: command not found jezeli jestes pewny skladni pinga, to moze chodzi o sciezke do polecenia: sprobuj podac to np w taki sposob "/usr/bin/ping", czy gdzie tam masz ten prog Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
lszk Napisano Styczeń 11, 2006 Zgłoszenie Share Napisano Styczeń 11, 2006 Nie mam teraz jak sprawdzić, ale zapis T1="ping www.wp.pl -c 2 " T2="0" if ["$T1"!= "$T2"]; then jest IMO na 100% błędny. Po 1-sze dlatego, że zamiast podwójnych cudzysłowów powinieneś użyć pojedyńczych w zmiennych, a po 2-gie, że pomiędzy nawiasem [ a resztą ważne są odstępy. Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się