Unter dem Begriff der Parametersubstitution stellt die bash einige Kommandos zur Verfügung, die die Bearbeitung von Zeichenketten in Variablen ermöglichen. Die Syntax hierfür lautet in der Regel ${var__muster}, wobei __ für ein bis zwei Sonderzeichen steht, die die Bearbeitung näher spezifizieren. Zu beachten ist, dass die Variable var ohne vorangestelltes Dollarzeichen ($) angesprochen werden, außer wenn Vergleichsmuster aus einer Variablen gelesen werden sollen.
[weiterlesen...]Für die Formulierung von Bedingungen, wie sie für die Kontrollstrukturen benötigt werden, wird bei der bash ein integriertes (buildin) Kommando verwendet, das test-Kommando. Mit diesem können unterschiedliche Bedingungen definiert werden, wobei sowohl zeichenbasierte und nummerische Bedingungen als auch Bedingungen auf Dateien und Verzeichnisse möglich sind. Weiterhin können mehrere Bedingungen miteinander verknüpft werden. Das test-Kommando liefert bei einer wahren Bedingung eine exit-Wert von 0, ansonsten einen von 0 unterschiedlichen Wert. Sollten keine Argumente an test übergeben werden, so liefert test immer einen Wert unterschiedlich von 0 (falsch). Für den Aufruf gibt es zwei Möglichkeiten: test oder [ ausdruck ] Wichtig ist bei der zweiten Form, dass nach der öffnenden eckigen Klamme [ und vor der schließenden eckigen Klamme ] mindestens ein Leer- oder Tabulatorzeichen angegeben wird. Sollen Zeichenketten mit Leerzeichen verglichen werden, müssen diese in Hochkommata gestellt werden, damit der komplette String verglichen wird. Gerade bei Variablen kann dies eine häufige Fehlerquelle sein. Für Bedingungen, die auf Zeichenketten wirken sollen, stehen die folgenden Bedingungen zur Verfügung: Ausdruck liefert wahr, wenn zk die Zeichenkette nicht leer ist -z zk die Zeichenkette leer ist [0 Zeichen] (zero) -n zk die Zeichenkette nicht leer ist (not zero) zk1 = zk2 die Zeichenketten identisch sind
[weiterlesen...]