[bash] Pytanie czemu taka aplikacja nie dzia

Potrzebujesz pomocy z C, C++, perl, python, itp.
jajo111
Posty: 27
Rejestracja: 20 czerwca 2006, 11:18

[bash] Pytanie czemu taka aplikacja nie działa ?

Post autor: jajo111 »

A więc tak - mam taką aplikację która sciąga, restartuje aplickacje po zmianie IP.
Bo mam neo+ i server sprzętowy. Komp z linuksem stoi poza natem i dlatego pobiera ze strony. Oto aplikacja:

Kod: Zaznacz cały

#!/bin/bash

CUR_IP=`wget [url]http://www.killfile.pl/ktojajestem.php[/url] -O /tmp/.cur_ip;cat /tmp/.cur_ip \
| grep IP | sed s"/.*to://" | sed s"/(.*//";rm /tmp/.cur_ip`

LAST_IP="/tmp/.ip"

test -e $LAST_IP || echo $CUR_IP > $LAST_IP

if [ `cat $LAST_IP` == `echo $CUR_IP` ]; then
        exit 0
else
        echo "$CUR_IP" > "$LAST_IP"
        app1 restart
        app2 restart
        exit 0
fi
A teraz error jaki mi wyskakuje :(

Kod: Zaznacz cały

igc:/usr/local/sbin# sh restart.sh
: command not found
--11:38:39--  [url]http://www.killfile.pl/ktojajestem.php[/url]
           => `/tmp/.cur_ip'
Translacja [url]www.killfile.pl[/url]... 194.145.96.12
£ączenie się z [url]www.killfile.pl[/url][194.145.96.12]:80... połączono.
¯ądanie HTTP wysłano, oczekiwanie na odpowiedź... 200 OK
Długość: nieznana [text/html]

    [ <=>                                                  ] 757           --.--K/s

11:38:39 (7.22 MB/s) - zapisano `/tmp/.cur_ip' [757]

: Nie ma takiego pliku ani katalogu
restart.sh: command substitution: line 2: syntax error near unexpected token `|'
restart.sh: command substitution: line 2: `| grep IP | sed s"/.*to://" | sed s"/(.*//";rm /tmp/.cur_ip'
: command not found
: command not found
: command not found
restart.sh: line 18: syntax error near unexpected token `fi'
restart.sh: line 18: `fi'
Pozdrawiam i proszę o odpowiedz :)
System Debian, najnowszy z netinstal :)
dodi
Beginner
Posty: 137
Rejestracja: 24 maja 2006, 19:00

Post autor: dodi »

Kod: Zaznacz cały

./cos.pl
--11:42:41--  [url]http://www.killfile.pl/ktojajestem.php[/url]
           => `/tmp/.cur_ip'
Translacja [url]www.killfile.pl[/url]... 194.145.96.12
Connecting to www.killfile.pl|194.145.96.12|:80... połączono.
¯ądanie HTTP wysłano, oczekiwanie na odpowiedź... 200 OK
Długość: nieznana [text/html]

    [ <=>                                                                                                                                    ] 754           --.--K/s

11:42:42 (51.36 MB/s) - `/tmp/.cur_ip' saved [754]
mi dziala
A kod przekleiłem z posta, sprawdź czy masz te podstawowe programy. które wywolujesz w skrypcie
Awatar użytkownika
LiNiO
Posty: 24
Rejestracja: 23 maja 2006, 20:27
Lokalizacja: Zamość

Re: Pytanie czemu taka aplikacja nie działą?? Bash / SH

Post autor: LiNiO »

Kod: Zaznacz cały

aptitude install sysutils
dos2unix restart.sh
pozdrówka
LiNiO
jajo111
Posty: 27
Rejestracja: 20 czerwca 2006, 11:18

Post autor: jajo111 »

A teraz takie pytanie - jak wpisać komedę w bashu, żeby tak włączył najpierw jedną komedę
np:
/root/pvpgn_run.sh restart
<potem zrobił przerwę>
/root/pvpgn_run.sh force-reload

Jak mam wpisać ? Bo skrypt już działa i jest all ok, tylko nie chce wywołać tej 2 komędy.
Najpierw wyłączy all, a potem nie chce wywołać tej 2 :/
zjam
Posty: 49
Rejestracja: 06 czerwca 2006, 15:25

Post autor: zjam »

Wklej zawartość tego skryptu. Nie musisz używać żadnych delay miedzy komendami.
jajo111
Posty: 27
Rejestracja: 20 czerwca 2006, 11:18

Post autor: jajo111 »

Kod: Zaznacz cały

#!/bin/bash 
/root/pvpgn_run.sh stop

/root/pvpgn_run.sh force-reload

i niechce przeladowac :( nie wiem czemu wogule nie wlacza tej 2 opcji :/

to samo mam 2 zeby automatycznie podniusl pewien programik w wine
script jest zrobiony w init.d nazywa sie rc.local
i wywoluje dwa scripty

Kod: Zaznacz cały

#!/bin/bash

/root/pvpgn_run.sh start 
/root/d2gs.sh
ten pierwszys sie wlacza a ten 2 w wine niechce odpalic :/
Awatar użytkownika
LiNiO
Posty: 24
Rejestracja: 23 maja 2006, 20:27
Lokalizacja: Zamość

Post autor: LiNiO »

ls -l /root/d2gs.sh

bash -v -x /root/d2gs.sh

pozdrówka
LiNiO
ODPOWIEDZ