IT-MÜCKE

Argumente mit Leerzeichen in Skripten verarbeiten

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!


zurück

Cookies helfen bei der Bereitstellung von Inhalten. Durch die Nutzung dieser Seiten erklären Sie sich damit einverstanden, dass Cookies auf Ihrem Rechner gespeichert werden. Weitere Information