–navigation–
Beitragsdatum | 12.05.2012 |
---|---|
Letzte Aktualisierung | 01.11.2016 |
Betrifft | Linux allgemein |
Soll ein Skript (z.B. ein Bash-Skript) ein Argument, welches Leerzeichen enthält, korrekt verarbeiten, so muss die Variable, die das Argument enthält, innerhalb des Skriptes jeweils in Anführungszeichen gesetzt werden.
Beispiel Test-Skript:
#!/bin/bash
VARIABLE=$1
echo "ls mit Variable ohne Anführungszeichen:"
ls $VARIABLE
echo "ls mit Variable mit Anführungszeichen:"
ls "$VARIABLE"
exit 0
Wird dieses Skript mit einem Argument mit Leerzeichen ausgeführt, so werden an das erste ls zwei Argumente übergeben, an das zweite ls nur ein Argument (das mit Leerzeichen).
Ausgabe:
user@host:~$ ./testskript "Hello World" ————————————— ls mit Variable ohne Anführungszeichen: ls: Zugriff auf Hello nicht möglich: Datei oder Verzeichnis nicht gefunden ls: Zugriff auf World nicht möglich: Datei oder Verzeichnis nicht gefunden ————————————— ls mit Variable mit Anführungszeichen: ls: Zugriff auf Hello World nicht möglich: Datei oder Verzeichnis nicht gefunden
Lösung:
Kann ein Argument in einem Skript Leerzeichen enthalten (gerade bei Dateioperationen immer möglich), dann muss die Variable innerhalb des Skriptes immer in Anfürhungszeichen eingeschlossen werden!
IT-MÜCKE - Richard Mücke - Ihr zuverlässiger EDV-Partner aus Mannheim
home - beratung - it-mücke kms - kontakt - blog - richard mücke - zertifizierungen - impressum - datenschutzerklärung