[fli4l] Befehlszeile in easycron kann nicht geparst werden
Christoph Schulz
fli4l at kristov.de
Fr Okt 16 15:32:57 CEST 2015
Hallo!
Stefan Sauer schrieb:
> Moin,
>
> ich möchte den Befehl:
>
> EASYCRON_2_COMMAND='iptables -t filter -L FORWARD|grep
> 'usr-forward-time-block'||iptables -t filter -I FORWARD 1 -o eth0 -j
> usr-forward-time-block'
> [...]
> Ich vermute mal, dass irgendwelche Zeichen escaped werden müssen, aber
> welche?
Für Variablen gelten die normalen Linux-Shell-Regeln, d.h. wenn du einfache
Anführungsstriche (') verwenden willst, dann _musst_ du den Variablenwert in
_doppelte_ Anführungsstriche setzen:
EASYCRON_2_COMMAND="iptables -t filter -L FORWARD|grep 'usr-forward-time-
block'||iptables -t filter -I FORWARD 1 -o eth0 -j usr-forward-time-block"
Natürlich musst du dann innerhalb einer solchen Zeichenkette die üblichen
Maskierungsregeln beachten: Die Zeichen " und \ müssen via \ maskiert
werden, d.h. du musst
ABC="def\\ghi\"jkl\"mno"
schreiben statt:
ABC='def\ghi"jkl"\mno'
Das funktioniert zumindest mit mkfli4l-ng im 4.0-Zweig. Für mkfli4l in
3.10.x kann ich diesbezüglich leider keine Garantien machen, da heißt es
einfach: ausprobieren.
Viele Grüße,
--
Christoph Schulz
[fli4l-Team]
Mehr Informationen über die Mailingliste Fli4L