[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Fehler in einer bash-Befehlszeile [ein bißchen OT]



Christian Bodenstedt schrieb:
> In deinem Script hast du also Hochkommata mit Backticks verwechselt. Um
> solche Fehler zu vermeiden, sollte man statt den Backticks die $() Syntax
> verwenden.

Ob das der richtige Weg ist? Den Shellscripting-Anfängern zu vermitteln
eine Syntax zu verwenden, die nicht auf (jede) andere Shell übertragbar
ist? Man will sich doch nicht auf die bash beschränken oder? Was ist
denn, wenn man auf einem System ein Script benötigt, dass keine bash
hat? Die bash nur für das Script installieren? Was ist, wenn auf dem
System aus irgendwelchen Gründen (irgendwelche Sicherheitsrichtlinien
o.ä.) keine Programme installiert werden dürfen?

Nicht gedacht, als Anlass zu einem Glaubenskrieg, nur so zum Nachdenken.
Hier stellt sich ganz klar die Frage: Lesbarkeit ( $() ist auf jeden
Fall sehr viel lesbarer als ``) vs. Portabilität.

> Abgesehen davon scheinst du mit obiger Kommandozeile den Rechner
> anzuweisen, sich in Zehn Minuten wieder einzuschalten. Da kannst du die
> Kiste auch gleich weiter laufen lassen. ;-)

Hmm. UNIX Timestamp + 10 * 60.. Ja das könnten in der Tat 10 Minuten
sein. Um was wetten wir, dass der OP 10 Stunden haben wollte? ;-)


./nvram-wakeup -C /etc/nvram-wakeup.conf --directisa  -s $((`date +%s`\
> +10 * (60*60) )) --nowrite

klingt in diesem Fall sinnvoll.

Gruß
Patrick Schönfeld



Reply to: