Ausgabe in Datei wird nicht gemacht

M

mmorsdorf

Grünschnabel
Da mein Erster Therd leider zu schnell ins php forum abgeschoben worden ist ...

Leider Funktioniert die Ausgabe nicht in die Datei geschrieben.

PHP:
#!/bin/sh


set pid = ps -ef | grep "Prozessname" | grep "<defunced>"


echo Lok PID of Ascent



 if ( "$pid" >  "0" )
           then

                 set pid = pidof ascent-world
                echo pid found pid=<$pid
                   echo $pid >/home/www/web0/html/uptime/pid.txt

           else

                set pid = Alles OK
                echo $pid >/home/www/web0/html/uptime/pid.txt

fi
 
Code:
 if ( "$pid" >  "0" )
Du vergleichst hier einen String. Da kannst du kein '>' oder '<' benutzen bzw. ergibt das bei Strings immer false, wenn mich meine vernachlässigten PHP-Kenntnisse nicht ganz täuschen.
 
soll auch kein php sein ^^

Ist ja ein Shell script :D

lg
 
Ups, stimmt. Aber auch da kannst du nicht einfach einen String mit > oder < vergleichen. Strings werden in fast allen Sprachen als 0 gehandhabt und 0 ist niemals grösser oder kleiner 0. Davon mal abgesehen müsste es in einem Shell-Skript doch -lt und -gt heissen.
 
PHP:
sh ascent.sh



falsch ?

Später soll es alle 3 minuten dan im chron laufen
 
Auf was verweist denn dein /bin/sh?
Dein Skript ist voller Syntaxfehler.
Was bekommst du als Ausgabe?


Variablenzuweisung:
Code:
VAR="String mit Leerzeichen"
Vor und nach dem Zuweisungsoperator = darf kein Leerzeichen stehen.

Zahlenvergleich in der Bash oder ksh:
Code:
if [ "$var" -gt 0 ]
then
...
fi

Stringvergleich geht nur als gleich oder nicht gleich.
Code:
if [ "$var" = "string" ]
then
...
fi

Wolfgang
 

Ähnliche Themen

Switche abfragen über Script

Timeout für Long Time Querys

verzeichniss suche funktioniert nicht

Queue für copy Script

Shellskript - Fehler in Cron

Zurück
Oben