Forum Linux.pl

Programowanie => Bash, skrypty powłoki => Wątek zaczęty przez: G P w 2005-05-29, 21:28:21

Tytuł: Prosty problem w bashu!
Wiadomość wysłana przez: G P w 2005-05-29, 21:28:21
Zainstalowałem modem, skonfigurowałem połaczenie i drivery- wszystko Ok. Po wydaniu komendy startadsl nic sie nie dzieje tzn. komenda przyjęta ale nie ma internetu...szukałem rozwiązania ale nic pomocnego nie znalazłem.
Tytuł: Prosty problem w bashu!
Wiadomość wysłana przez: xis w 2005-05-29, 21:30:41
2005-05-29 21:28:21 Socom napisał:

> Zainstalowałem modem, skonfigurowałem połaczenie i drivery- wszystko Ok. Po wydaniu komendy
 > startadsl nic sie nie dzieje tzn. komenda przyjęta ale nie ma internetu...szukałem rozwiązania
 > ale nic pomocnego nie znalazłem.


Aha
Tytuł: Prosty problem w bashu!
Wiadomość wysłana przez: Jakub Zalas w 2005-05-29, 21:39:23
2005-05-29 21:28:21 Socom napisał:

> Zainstalowałem modem, skonfigurowałem połaczenie i drivery- wszystko Ok. Po wydaniu komendy
 > startadsl nic sie nie dzieje tzn. komenda przyjęta ale nie ma internetu...szukałem rozwiązania
 > ale nic pomocnego nie znalazłem.

Szkoda.
Tytuł: Prosty problem w bashu!
Wiadomość wysłana przez: xis w 2005-05-29, 21:44:26
2005-05-29 21:28:21 Socom napisał:

> Zainstalowałem modem,

Jaki modem?
Jak zainstalowałeś?

 > skonfigurowałem połaczenie i drivery-

Jak? Jakie drivery?

 > wszystko Ok.

Skąd wiesz?

 >Po wydaniu komendy startadsl nic sie nie dzieje tzn. komenda przyjęta ale nie ma internetu...

Ja mam internet, więc z nim wszystko chyba ok. ;)

 >szukałem rozwiązania ale nic pomocnego nie znalazłem.

Czego szukałeś i gdzie?
Tytuł: Prosty problem w bashu!
Wiadomość wysłana przez: G P w 2005-05-29, 21:48:17
Modem Sagem 800 i driver eagle-usb.2.3.1, przy instalacji nie było żadnych błędów. Potem poprosił o skonfigurowanie połączenia tzn login i hasło. Na koniec komunikat :\\' Wydanie komendy startadsl połaczy z internetem\\' i czy dodac to do autostartu systemu. Ja jestem zielony z tym więc pytam...
Tytuł: Prosty problem w bashu!
Wiadomość wysłana przez: xis w 2005-05-29, 22:12:32
2005-05-29 21:48:17 Socom napisał:

> Modem Sagem 800 i driver eagle-usb.2.3.1, przy instalacji nie było żadnych błędów. Potem
 > poprosił o skonfigurowanie połączenia tzn login i hasło. Na koniec komunikat :\\' Wydanie komendy
 > startadsl połaczy z internetem\\' i czy dodac to do autostartu systemu. Ja jestem zielony z tym
 > więc pytam...

Jeśli podłączyłeś modem zgodnie z instrukcjami, to połączenie powinno faktycznie zostać nawiązane. Sprawdź wyjście polecenia:

eaglestat

..żeby zobaczyć czy modem jest \\'operational\\'.
Jeśli nie jest wykonaj:

eaglectrl -w && startadsl

Tytuł: Prosty problem w bashu!
Wiadomość wysłana przez: G P w 2005-05-30, 13:09:18
Ok. Poradziłem sobie. Nie ładowało sie cos przy starcie.
Tytuł: Prosty problem w bashu!
Wiadomość wysłana przez: Tadeusz Gruszczyński w 2005-05-29, 18:56:33
Tu mam fragm.skrytpu:
....
BASENAME=$1
BASENAME=${BASENAME#*/*/}
BASENAME=${BASENAME%/*}
OUTDIR=/video/filmy
cd $OUTDIR
1) vdrsync.pl -m -basename $BASENAME -cut -o $OUTDIR -script-output=$OUTDIR/$BASENAME.log $1/ > /dev/null 2>&1 &
# skrypt wykonuje polecenie w wyniku czego powstają dwa pliki: BASENAME.mpv i BASENAME*.mpa, następne polecenie można wykonać dopiero po zakończeniu operacji 1) i ma być:  
2) mplex -f 8 -o /video/filmy/$BASENAME.mpg $BASENAME.mpv $BASENAME*.mpa
Rzecz w tym, ze polecenie 2) uruchomia się, kiedy jeszcze nie są kompletne pliki powstałe w wyniku polecenia 1)
Proszę o pomoc jakie polecenia mam wstawić tak aby rozpoczęło się wykonywanie komendy 2) w odpowiednim momencie.
Tytuł: Prosty problem w bashu!
Wiadomość wysłana przez: Wojciech Miłkowski w 2005-05-29, 19:02:37
2005-05-29 18:56:33 Tad napisał:

 > 1) vdrsync.pl -m -basename $BASENAME -cut -o $OUTDIR -script-output=$OUTDIR/$BASENAME.log $1/
 > > /dev/null 2>&1 &
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Nie uruchamiać 1-szego polecenia w tle! :) czyli skasuj ostatni znak '&' w 1-szym poleceniu...

Wojtek
Tytuł: Prosty problem w bashu!
Wiadomość wysłana przez: Tadeusz Gruszczyński w 2005-05-29, 20:23:20
> Nie uruchamiać 1-szego polecenia w tle! :) czyli skasuj ostatni znak '&' w 1-szym
 > poleceniu...
 >
 > Wojtek
 -------------
Dziekuję....
Wygląda na to , że o to mi chodziło.
Jeśli jeszcze ktośby byłby miły i wytłumaczył mi co oznacza komenda: 2>&1,
oraz > /dev/null 2>&1.
 
Tytuł: Prosty problem w bashu!
Wiadomość wysłana przez: xis w 2005-05-29, 20:57:26
2005-05-29 20:23:20 Tad napisał:

 > Jeśli jeszcze ktośby byłby miły i wytłumaczył mi co oznacza komenda: 2>&1,
 > oraz > /dev/null 2>&1.
 >  
 >

2 to standardowe wyjście błędu (stderr), a 1 to standardowe wyjście (stdout), zatem 2>&1 oznacza 'dołącz standardowe wyjście błędu do standardowego wyjścia (nie rozdzielaj ich na osobne)'.
> /dev/null oznacza 'przekieruj wyjście do /dev/null', czyli krótko i brzydko mówiąc 'olej wyjście' ;)
Tytuł: Prosty problem w bashu!
Wiadomość wysłana przez: Jakub Zalas w 2005-05-29, 21:15:24
> Dziekuję....
 > Wygląda na to , że o to mi chodziło.
 > Jeśli jeszcze ktośby byłby miły i wytłumaczył mi co oznacza komenda: 2>&1,
 > oraz > /dev/null 2>&1.
 >  
 >

Znak '>' to przekierowanie wyjścia programu.
0, 1, 2 to standardowe deskryptory plików, które otrzymuje każdy proces uruchamiany w linuksie. Domyślnie powiązane są z urządzeniem termianala.
1 to standardowe wyjście
2 to standardowe wyjście błędu
0 to standardowe wejście
Na standardowe wejście trafiają znaki z klawiatury, a wyjścia wysyłają znaki na ekran monitora. Dzięki znakowi '>' lub '>>' można zmienić to zachowanie.

I tak np.
'1>plik.log' przekieruje standardowe wyjście do pliku plik.log
'2>&1' przekieruje standardowe wyjście błędu tam, gdzie skierowane jest standardowe wyjście
'> /dev/null' przekieruje wyjście w pustkę :)

Więcej na google :)