Bash: Ausgabe einer Zeile in eine Variable schreiben

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Peter_19
Beiträge: 26
Registriert: 07.01.2004 15:15:50

Bash: Ausgabe einer Zeile in eine Variable schreiben

Beitrag von Peter_19 » 24.10.2004 21:11:01

Hallo,
ich bin echt am verzweifeln,
denn der Skript soll ein Programm überwachen und beim Absturz wieder restarten können (per Cronjob).
Hier ist der Code:

Code: Alles auswählen

#! /bin/bash

pidof /usr/bin/php5 /var/www/seki >> temp (*)
if [ -n $temp ];
then
    cat temp >> found_pid
fi;
if [ -z $found_pid ];
then 
     unset temp
     rm temp
     exec /var/www/seki # PHP-Cli-Skript
     # Log -Kram
fi;
unset found_pid
rm found_pid
exit 0
(*) = Da hakt es, da will Bash die Ausgabe (z.B. 3939 (PID)) nicht an die Variable übergeben.
Könnt Ihr mir helfen?
MFG
Peter

Benutzeravatar
se8i
Beiträge: 1017
Registriert: 08.11.2002 17:02:20
Wohnort: nähe Karlsruhe
Kontaktdaten:

Beitrag von se8i » 24.10.2004 21:23:54

>> schreibt in eine datei.
richtig wäre
export VARIABLE=$(befehl)
Jazz is not dead, it just smells funny.

Peter_19
Beiträge: 26
Registriert: 07.01.2004 15:15:50

Beitrag von Peter_19 » 25.10.2004 12:18:21

Also so
export temp=$(pidof /usr/bin/php5 /var/www/seki) ?
MFG
Peter

Peter_19
Beiträge: 26
Registriert: 07.01.2004 15:15:50

Beitrag von Peter_19 » 25.10.2004 12:26:54

ok die Lösung von se8i funktioniert, damit kann diesen Topic geschlossen werden.
MFG
Peter

Benutzeravatar
Joghurt
Beiträge: 5244
Registriert: 30.01.2003 15:27:31
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Joghurt » 25.10.2004 14:15:50

Besser ohne export:
VAR=$(program)
ansonsten wird VAR auch in der Enviroment der von diesem Skript gestarteten Programme aufgenommen. Wenn das gewünscht ist, natürlich mit export; wenn nicht, lass es einfach weg

Antworten