[PATCH v2] fff-gateway: Add sanity checks

Fabian Bläse fabian at blaese.de
Mo Aug 19 20:20:17 CEST 2019


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 Binärdaten wurde abgetrennt...
Dateiname   : signature.asc
Dateityp    : application/pgp-signature
Dateigröße  : 833 bytes
Beschreibung: OpenPGP digital signature
URL         : <https://lists.freifunk.net/pipermail/franken-dev-freifunk.net/attachments/20190819/dc48d257/attachment.sig>


Mehr Informationen über die Mailingliste franken-dev