ViaThinkSoft CodeLib
This article is in:
CodeLib → Programming aids → Bash (linux shell)
Editiert man *.sh Dateien mit NANO so fällt auf, dass Variablen stets rot gekennzeichnet werden. Generell sollte man dies als Warnung ansehen, denn Variablen die nicht durch doppelte Anführungszeichen geschützt sind und Leerzeichen enthalten würden 2 Argumente darstellen.
So würde folgender Befehl $DIR/hello.sh für DIR="/home/test" funktionieren, aber nicht für DIR="/home/my user" . Es würde dann nämlich versucht werden, /home/my aufzurufen mit den Parametern user/hello.sh .
Korrekt wäre "$DIR/hello.sh".
Doch vorsicht bei Wildcards! Durch das setzen von Anführungszeichen werden Wildcards (*, ?) nicht "übersetzt".
Folgender Befehl wird also nicht funktionieren:
rm "$DIR/*.xml"
Stattdessen sollte man dies verwenden:
rm "$DIR"/*.xml
So würde folgender Befehl $DIR/hello.sh für DIR="/home/test" funktionieren, aber nicht für DIR="/home/my user" . Es würde dann nämlich versucht werden, /home/my aufzurufen mit den Parametern user/hello.sh .
Korrekt wäre "$DIR/hello.sh".
Doch vorsicht bei Wildcards! Durch das setzen von Anführungszeichen werden Wildcards (*, ?) nicht "übersetzt".
Folgender Befehl wird also nicht funktionieren:
rm "$DIR/*.xml"
Stattdessen sollte man dies verwenden:
rm "$DIR"/*.xml
Daniel Marschall
ViaThinkSoft Co-Founder
ViaThinkSoft Co-Founder