Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Dlaczego to nie działa?
#!/bin/bash wlanconfig ath0 destroy #niszcze stary interfejs wlanconfig ath0 create wlandev wifi0 wlanmode ap #tworze nowy jako AP iwconfig ath0 essid boss #nadaje nazwe AP iwconfig ath0 channel 6 #ustalam kanal dzialania AP ifconfig ath0 10.0.0.12 netmask 255.255.255.0 up #adresuje interfejs oraz go podnosze
Każda z komend osobno działa. Jako plik wsadowy nie, dostaje:
debian:/home/marek# sh APstart ath0
I nie konfiguruje mi interfejsu.
Offline
Chyba jednak nie to bo dostaje:
debian:/home/marek# sh APstart ath0 Error for wireless request "Set ESSID" (8B1A) : SET failed on device ath0 ; No such device. Error for wireless request "Set Frequency" (8B04) : SET failed on device ath0 ; No such device. SIOCSIFADDR: Nie ma takiego urządzenia ath0: ERROR while getting interface flags: Nie ma takiego urządzenia SIOCSIFNETMASK: Nie ma takiego urządzenia ath0: ERROR while getting interface flags: Nie ma takiego urządzenia
Offline
może po każdej lini trzeba dodać średnik ;
pozdro
Offline
moze ktoras z komend sie konczy zanim cos zostanie wykonane do konca ... sproboj wstawic pomiedzzy komendy sleep 1
Offline
po pierwsze, w bourne shell zapis taki:
komenda1 komenda2 komenda3
oraz taki:
komenda1;komenda2;komenda3;
oraz taki:
komenda1; komenda2; komenda3;
znaczą dokładnie zawsze to samo. są po prostu jednoznaczne.
podzielam zdanie bercika. IMO komendy wpisywane "z palca" działają, gdyż między jedną a drugą komendą jest właśnie ta sekunda lub dwie przerwy. wystarczy zrobić coś takiego:
komenda1 sleep 1 komenda2 sleep 1 komenda3
jeżeli nie zadziała, zwiększyć sleepy do 2 lub 3 sekund. jeśli zadziała, zacząć powoli wywalać sleepy, jednego po drugim, i jeśli któreś okażą się niepotrzebne - very well, sukces.
Offline
Można instrukcje rozdzielić operatorami "&&".
np. Instrukcja1 && Instrukcja2
Instrukcja2 wykona się tylko wtedy, gdy Instrukcja1 zwróci kod błędu 0 (sukces), więc siłą rzeczy druga musi poczekać na zakończenie pierwszej.
Offline
Wielkie dzięki już wszystko ok.
Najpierw rozdzieliłem komendy "&&" bo z mojego punktu widzenia powinna działać lepiej. A jednak skrypt zachował się dokładnie tak samo jak wtedy kiedy tych "&&" nie było.
Pomogło "sleep 1".
Dzięki za zainteresowanie tak błahym tematem.
Offline