Lihtne sh script ei toimi

Algajatele mõeldud foorum. Siia võib teha kõik Linuxiga seotud teemad, mida mujale ei oska panna

Moderaator: Moderaatorid

Vasta
mixman
Pingviini kasutaja
Pingviini kasutaja
Postitusi: 54
Liitunud: 20.12.2007, 22:27

Lihtne sh script ei toimi

Postitus Postitas mixman »

Tere, selline küsimus, et miks ei toimi mul lihtne sh script ?

Kood: Vali kõik

#!/bin/sh
 
PROCESS_COUNT=$(ps -fu root | grep samp02Xsvr | grep -v grep | wc -l)
case $PROCESS_COUNT in
0) /home/Sysadmin/games/samp/samp02Xsvr &
;;
1) #OK, programm käib ühe protsessiga
;;
*) #OK, programm käib mitme protsessiga
;;
esac
Scripti mõte on siis kontrollida kas samp02Xsvr protsess käib, kui mitte siis käivitab selle.

Proovisin kontrollida käsuga:
[root@web221 samp]# ./kontrollisampi.sh

tulemus:
-bash: ./kontrollisampi.sh: /bin/sh^M: bad interpreter: No such file or directory
Milles võib probleem olla?


Distro: Centos 5.3
Kontrollisampi.sh õigused: 755
Kasutaja avatar
bobc
Pingviini aktivist
Pingviini aktivist
Postitusi: 165
Liitunud: 09.07.2005, 03:00

Postitus Postitas bobc »

Kontrolli kas sul ikka sh asub /bin/ kataloogis (võimalik, et on /usr/bin/sh).
SH peaks olema BASH link.
ja miks mitte kasutada:

Kood: Vali kõik

psgrep -u root samp02Xsver
või

Kood: Vali kõik

pidof samp02Xsver 
Pilt
Kasutaja avatar
Sisyphos
Vana Pingviin
Vana Pingviin
Postitusi: 602
Liitunud: 24.02.2008, 12:13

Postitus Postitas Sisyphos »

googel ütles:

Kood: Vali kõik

this is normally caused by one of two things, either having bad line breaks in the script file due to it being edited under windows, or the not having an appropriate call to an interpreter on the first line (ie #!/bin/sh).
windows'i all kirjutatud skript ? Muuda realõpud unix'i omadeks.
Pilt
mixman
Pingviini kasutaja
Pingviini kasutaja
Postitusi: 54
Liitunud: 20.12.2007, 22:27

Postitus Postitas mixman »

Sisyphos kirjutas:googel ütles:

Kood: Vali kõik

this is normally caused by one of two things, either having bad line breaks in the script file due to it being edited under windows, or the not having an appropriate call to an interpreter on the first line (ie #!/bin/sh).
windows'i all kirjutatud skript ? Muuda realõpud unix'i omadeks.
Tänud, see aitas kasutasin sellist utiili nagu dos2unix. :)


Üks asi veel selle scriptiga, tahtisn seda panna crontab alla, aga ei taha toimida millegi pärast.

tegin nii
crontab -e
mille sisu sai selline
41 3 * * * /etc/webmin/cron/tempdelete.pl
*/1 * * * * /home/Sysadmin/games/samp/kontrollisampi.sh >/dev/null 2>&1
Salvestasin ja tegin isegi restardi crontab daemonile, aga tundub et ei toimi, tapsin protsessi samp02Xsvr, aga uuesti tööle ei lähe, kas selle kohta ka ideid on kellegil ?

Käsitsi scripti käivitades toimib küll.
Kasutaja avatar
DaStoned
Pingviini aktivist
Pingviini aktivist
Postitusi: 395
Liitunud: 11.01.2007, 16:23

Postitus Postitas DaStoned »

Kas sellel kasutajal, kelle crontabi sa nokkisid, on õigust skripti käiata?

Lisa faili algusesse "MAILTO=sinukasutajanimi" ja ära saada väljundit /dev/null-i. Kui su masinasisene e-post töötab (testida saad käsuga "[font=Courier New]echo Hello world | mail -s Proovikiri sinukasutajanimi[/font]"), siis peaks käsu väljund sulle saadetama (lugeda saad käsuga "mail").
When the shit hits the fan, keep your mouth shut!
mixman
Pingviini kasutaja
Pingviini kasutaja
Postitusi: 54
Liitunud: 20.12.2007, 22:27

Postitus Postitas mixman »

DaStoned kirjutas:Kas sellel kasutajal, kelle crontabi sa nokkisid, on õigust skripti käiata?

Lisa faili algusesse "MAILTO=sinukasutajanimi" ja ära saada väljundit /dev/null-i. Kui su masinasisene e-post töötab (testida saad käsuga "[font=Courier New]echo Hello world | mail -s Proovikiri sinukasutajanimi[/font]"), siis peaks käsu väljund sulle saadetama (lugeda saad käsuga "mail").
Kasutaja on root, seega peaks vist olema õigused ?


Proovisin seda maili asja, tundub et scriptiga ikka mingi kala :(
From root@web221.xxx.xx Sun Jul 12 22:38:01 2009
Date: Sun, 12 Jul 2009 22:38:01 +0300
From: root@web221.xxx.xx (Cron Daemon)
To: root@web221.xxx.xx
Subject: Cron <root@web221> /home/Sysadmin/games/samp/kontrollisampi.sh &
Content-Type: text/plain; charset=UTF-8
Auto-Submitted: auto-generated
X-Cron-Env: <MAILTO=root>
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <HOME=/root>
X-Cron-Env: <PATH=/usr/bin:/bin>
X-Cron-Env: <LOGNAME=root>
X-Cron-Env: <USER=root>

/bin/sh: /home/Sysadmin/games/samp/kontrollisampi.sh: /bin/sh^M: bad interpreter: No such file or directory
Kasutaja avatar
DaStoned
Pingviini aktivist
Pingviini aktivist
Postitusi: 395
Liitunud: 11.01.2007, 16:23

Postitus Postitas DaStoned »

No kala on see sama mis ennist - realõpud on DOS-i omad.
When the shit hits the fan, keep your mouth shut!
Vasta