[PATCH v2] fff-gateway: Add sanity checks
Adrian Schmutzler
mail at adrianschmutzler.de
Mo Aug 19 20:25:14 CEST 2019
Hallo Fabian,
das mit dem if ist mir bewusst, ich habe einfach auf meinem dezentralen Gateway
uci get gateway
eingegeben, und dann kommt … nichts. Das hat mich gewundert.
Exit Status passt:
uci get gateway && echo „a“ || echo „b“
gibt „a“
uci get gateway2 && echo „a“ || echo „b“
gibt „b“
Grüße
Adrian
From: Fabian Bläse [mailto:fabian at blaese.de]
Sent: Montag, 19. August 2019 20:20
To: Adrian Schmutzler <mail at adrianschmutzler.de>; franken-dev at freifunk.net
Subject: Re: [PATCH v2] fff-gateway: Add sanity checks
Hey Adrian,
On 19.08.19 15:17, Adrian Schmutzler wrote:
> Hallo,
>
> um das nochmal etwas zu spezifizieren, ich würde folgendes machen:
>
> config gateway 'meta'
> option config_version '1'
Klingt gut.
Ich baue aus diesem Vorschlag demnächst eine v3.
> Ansonsten noch ein Kommentar/Frage:
>
>>> + if ! uci -q get gateway; then
>
> Mir war gar nicht bewusst, dass das geht (aber ja, habs getestet). Ich hätte da jetzt ! [ -s "/etc/config/gateway" ] gemacht.
>
> Da die von mir genannte Variante an diversen Stellen (für andere uci config Files) verwendet wird, würde mich interessieren, was ihr für besser haltet (ist ja auch ein bisschen Speicher vs. Dateisystem).
Vermutlich ist das "uci get" sinnvoller, weil das direkt überprüft, ob es mit uci funktioniert.
> Zudem frage ich mich, ob die Syntax von Fabian absichtlich oder aus Versehen funktioniert, da sie nichts ins std-out schreibt.
Ein shell-if wertet nicht den Output, sondern den Exitstatus bzw Rückgabewert eines Befehls aus.
In einer Shell kannst du diesen mit "echo $?" abfragen. (Vorsicht: Geht nur einmal. Bei nächsten mal kriegst du dann natürlich den Exitstatus des zuvor ausgeführten echos)
Ein einfaches Beispiel:
> ~$ true
> ~$ echo $?
> 0
> ~$ false
> ~$ echo $?
> 1
> ~$ echo $?
> 0
Gruß
Fabian
-------------- nächster Teil --------------
Ein Dateianhang mit HTML-Daten wurde abgetrennt...
URL: <https://lists.freifunk.net/pipermail/franken-dev-freifunk.net/attachments/20190819/8ca06fbd/attachment.html>
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname : openpgp-digital-signature.asc
Dateityp : application/pgp-signature
Dateigröße : 834 bytes
Beschreibung: nicht verfügbar
URL : <https://lists.freifunk.net/pipermail/franken-dev-freifunk.net/attachments/20190819/8ca06fbd/attachment.sig>
Mehr Informationen über die Mailingliste franken-dev