Message ID | 002a01d2f4b4$3e47cff0$bad76fd0$@adrianschmutzler.de |
---|---|
State | Not Applicable |
Headers | show |
diff --git a/src/packages/fff/fff-nodewatcher/files/usr/sbin/nodewatcher b/src/packages/fff/fff-nodewatcher/files/usr/sbin/nodewatcher index 6e0e538..f9d6e65 100755 --- a/src/packages/fff/fff-nodewatcher/files/usr/sbin/nodewatcher +++ b/src/packages/fff/fff-nodewatcher/files/usr/sbin/nodewatcher @@ -104,7 +104,7 @@ crawl() { fi #Checks whether either fastd or L2TP is connected - if [ pidof fastd >/dev/null ] || [ grep -q '1' /sys/class/net/l2tp*/carrier ] ; then + if pidof fastd >/dev/null || grep -q '1' /sys/class/net/l2tp*/carrier 2> /dev/null ; then vpn_active="<vpn_active>1</vpn_active>"
Hey Adrian, if wertet die Rückgabe von Kommandos aus. Sprich wenn dein Kommando bei Erfolg 0 und bei Misserfolg was anderes ausgibt kann mans einfach so anführen. Und || bzw && sind ja auch für normale Kommandos so definiert. Ein besonderes Kommando ist das "test"-Kommando(man test) das kann allerhand Sachen überprüfen und für die Lesbarkeit gibt es zusätzlich noch einen symlink auf diesen test-Befehl der "[" heißt und der verlangt, dass man am Ende noch ein "]" angibt... Das was aussieht wie Syntax einer Programmiersprache bricht hier (wie fast immer bei bash/sh) wieder auf ein entsprechendes Kommando herunter, das wiederum 0 oder was anderes zurück gibt. Also braucht man [? immer wenn man was überprüfen will, das man mit "test" überprüfen kann... und ansonsten muss man sich ein anderes Kommando überlegen. Achja zur verwirrung trägt natürlich noch bei, das man mit [ auch überprüfen kann ob es Ausgaben gab if [ "$(grep xy)" ] ; und if grep -q xy ; sind also oft quasi gleichwertig. Ist also alles recht verwirrend und daher hat die ursprüngliche Zeile dir und mir auch so plausibel ausgesehen :-) Viele Grüße Tobias Am Dienstag, 4. Juli 2017, 12:56:51 CEST schrieb Adrian Schmutzler: > Hallo, > > der Teil mit dem stderr ist mir klar, aber kann mir mal jemand erklären > (oder nen Link schicken), wann man die eckigen Klammern jetzt braucht und > wann nicht? > > Grüße > > Adrian > > -----Original Message----- > From: franken-dev [mailto:franken-dev-bounces@freifunk.net] On Behalf Of > Tobias Klaus > Sent: Dienstag, 4. Juli 2017 00:37 > To: franken-dev@freifunk.net > Subject: [PATCH] nodewatcher: fix parsing error > > --- > src/packages/fff/fff-nodewatcher/files/usr/sbin/nodewatcher | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/src/packages/fff/fff-nodewatcher/files/usr/sbin/nodewatcher > b/src/packages/fff/fff-nodewatcher/files/usr/sbin/nodewatcher > index 6e0e538..f9d6e65 100755 > --- a/src/packages/fff/fff-nodewatcher/files/usr/sbin/nodewatcher > +++ b/src/packages/fff/fff-nodewatcher/files/usr/sbin/nodewatcher > @@ -104,7 +104,7 @@ crawl() { > fi > > #Checks whether either fastd or L2TP is connected > - if [ pidof fastd >/dev/null ] || [ grep -q '1' > /sys/class/net/l2tp*/carrier ] ; then > + if pidof fastd >/dev/null || grep -q '1' /sys/class/net/l2tp*/carrier > 2> /dev/null ; then > vpn_active="<vpn_active>1</vpn_active>" > else > vpn_active="<vpn_active>0</vpn_active>"
Hallo, der Teil mit dem stderr ist mir klar, aber kann mir mal jemand erklären (oder nen Link schicken), wann man die eckigen Klammern jetzt braucht und wann nicht? Grüße Adrian -----Original Message----- From: franken-dev [mailto:franken-dev-bounces@freifunk.net] On Behalf Of Tobias Klaus Sent: Dienstag, 4. Juli 2017 00:37 To: franken-dev@freifunk.net Subject: [PATCH] nodewatcher: fix parsing error --- src/packages/fff/fff-nodewatcher/files/usr/sbin/nodewatcher | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) else vpn_active="<vpn_active>0</vpn_active>"