Herausfinden, ob ucr Variable gesetzt ist

Hallo,

Ich suche für ein Skript nach einer einfachen Methode zu überprüfen, ob eine ucr-Variable gesetzt ist. Ich will nicht den Wert, sondern nur wissen, die Variable existiert. Leider geben ‘ucr get’ und ‘ucr search’ immer 0 zurück, auch wenn die Variable nicht existiert.

Besten Dank,
Christoph Wickert

Hallo,

die Rückgabe eines “ucr get” sollte sich unterscheiden, je nach dem ob die Variable einen Wert enthält oder nicht:[code]# ucr set x1=""
Create x1

ucr set x2=“a”

Create x2

ucr get x1; echo $?

0

ucr get x2; echo $?

a
0

ucr get x3; echo $?

0[/code]

Mit freundlichen Grüßen
Janis Meybohm

Hallo,

und danke für die Antwort. Natürlich unterscheidet sich die Ausgabe, aber ich suchte nicht nach dem Inhalt der Ausgabe, sondern nur nach einem einfachen Test. Ich habe mir jetzt mit

[ -z "$(ucr get variable)" ] && echo "Variable existiert nicht" beholfen.

Wäre schön, wenn es in Zukunft unterschiedliche exit codes gäbe.

Danke,
Christoph Wickert

Wie wärs mit einem:

[quote]if [ “grep "^/var/name:" /etc/univention/base.conf” != “” ];
echo “variable exists”
fi[/quote]

[quote=“DBGTMaster”]Wie wärs mit einem:

[quote]if [ “grep "^/var/name:" /etc/univention/base.conf” != “” ];
echo “variable exists”
fi[/quote][/quote]
Bitte nicht, es gibt unterschiedliche UCR Layer und die würden dann nicht beachtet.

Mastodon