ubuntuusers.de

Config Variablen überprüfen

Status: Gelöst | Ubuntu-Version: Server 13.04 (Raring Ringtail)
Antworten |

JPad

Anmeldungsdatum:
15. September 2013

Beiträge: Zähle...

Hi Leute,

ich möchte gern eine überprüfung meiner variablen starten, um zu prüfen ob diese geändert wurden und wenn nicht dann gibt es nur ein echo. Falls sie geändert wurden sollen meine weiteren befehlen ausgeführt werden.

Ich hoffe ihr könnt mir weiterhelfen.

hier mein code

1
2
3
4
5
6
if [ "$USER" == "TYPE_YOUR_USERNAME" ] && [ "$SERVER" == "TYPE_YOUR_SCREENNAME" ] usw.; then
echo "please edit your config"
exit 0
else
meine commandos die er ausführen soll
fi

Grüße JPad

Vibaf

Ehemaliger

Anmeldungsdatum:
27. Dezember 2007

Beiträge: 3046

Besteht das Problem noch? Der Thread ist als gelöst markiert, ich sehe aber keine Lösung. Wenn das Problem gelöst ist, dann schreibe dass doch einfach dazu, eventuell sogar mit Lösung, für all diejenigen, die diesen Thread finden und ein ähnliches Problem haben. ☺

Falls das Problem noch nicht gelöst ist: Woher kommt der Inhalt der Variablen? Aus einer Datei, stehen die im Skript mit drin? Schildere dein Problem doch bitte ein bisschen genauer.

JPad

(Themenstarter)

Anmeldungsdatum:
15. September 2013

Beiträge: 2

Hi Vibaf,

das Problem besteht nicht mehr. Ich hatte ein Leerzeichen vergessen und da ich die eckigen Klammern benutzt habe, darf man nur ein =-zeichen benutzen. Der Code den ich gepostet habe ist also richtig.

Zum Verständnis, die Variablen stehen in der selben Datei. Diese Variablen sollen überprüft werden, ob sie geändert wurden, falls nicht dann soll er ein echo ausgeben und falls ja dann soll er mit weiteren Befehlen fortfahren.

Diese Überprüfung würde ich aber nur empfehlen, wenn Leute ihr Script der Öffentlichkeit zur verfügung gestellt wird.

Hier nochmal der Code, man muss halt nur die Variablen austauschen.

1
2
3
4
5
6
if [ "$VAR" = "Irgendwas steht oben in der variable" ] && [ "$VAR2" = "z.Bsp TYPE_YOUR_USERNAME" ] usw.; then
echo "Bitte editiere deine config in der Datei!"
exit 0
else
weitere befehle die ausgeführt werden sollen
fi

Greetz JPad

Vibaf

Ehemaliger

Anmeldungsdatum:
27. Dezember 2007

Beiträge: 3046

JPad schrieb:

Ich hatte ein Leerzeichen vergessen und da ich die eckigen Klammern benutzt habe, darf man nur ein =-zeichen benutzen.

Man darf bei test (aka. [ ]) auch zwei Gleichheitszeichen benutzen.

Ein

foo="bar"
[ "$foo" == "bar" ] && echo "ok"

ergibt das gleiche wie

foo="bar"
[ "$foo" = "bar" ] && echo "ok"
Antworten |