DieterH
07.11.13, 12:20
Ich verwende gelegentlich zeitgleich verschiedene USB-Datenträger auf meinem Linux-System (OpenSuSE 12.3). Viele Vorgänge sind automatisiert, d.h. in Shell-Skripts hinterlegt.
Nach Beendigung der Arbeiten möchte ich die in das Dateisystem eingehängten USB-Datenträger mittels eines Skripts automatisiert aushängen (d.h. nicht über Dolphin). Die allgemeine Syntax in SuSE 12.3 lautet: sudo umount /run/media/benutzername/USBname.
Enthält der USBname ein Leerzeichen (z.B. „USB DISK“), so scheitert der oben genannte Befehl, auch wenn ich (dem Leerzeichen einen Rückwärtsschrägstrich (neudeutsch: „backslash“) voranstelle. Selbst ein doppelter Rückwärtsschrägstrich hilft nicht weiter.
Minimal-Skript /tmp/x.sh:
#TMP_USB="USB\\\\ DISK"
#TMP_USB="USB\\ DISK"
TMP_USB="USB\ DISK"
sudo umount /run/media/benutzername/${TMP_USB}
Nach Eingabe des root-Kennworts erhalte ich allen Fällen (egal wieviele Rückwärtsschrägstriche) folgende Fehlermeldung:
$ /tmp/x.sh
umount: /run/media/benutzername/USB\: not found
umount: DISK/: not found
d.h. der umount-Befehl betrachtet trotz des Rückwärtsschrägstriches vor dem Leerzeichen das Leerzeichen nicht als Bestandteil des Namens des USB-Datenträgers, sondern als Trennzeichen für eine Liste von Namen.
Es ist bei allen Versuchen sichergestellt, dass ein USB-Datenträger namens „USB DISK“ im System eingehängt ist:
$ ls -1 /run/media/benutzername/
USB DISK
Nach Eingabe des umount-Befehls in der Befehlszeile
sudo umount /run/media/benutzername/USB\ DISK/
wird der Datenträger (nach Eingabe des root-Kennworts) ordnungsgemäß ausgehängt.
Was ist in das Skript einzufügen, damit der Aushängevorgang im Skript funktioniert?
Vielen Dank im voraus.
Gruß
Dieter
Nach Beendigung der Arbeiten möchte ich die in das Dateisystem eingehängten USB-Datenträger mittels eines Skripts automatisiert aushängen (d.h. nicht über Dolphin). Die allgemeine Syntax in SuSE 12.3 lautet: sudo umount /run/media/benutzername/USBname.
Enthält der USBname ein Leerzeichen (z.B. „USB DISK“), so scheitert der oben genannte Befehl, auch wenn ich (dem Leerzeichen einen Rückwärtsschrägstrich (neudeutsch: „backslash“) voranstelle. Selbst ein doppelter Rückwärtsschrägstrich hilft nicht weiter.
Minimal-Skript /tmp/x.sh:
#TMP_USB="USB\\\\ DISK"
#TMP_USB="USB\\ DISK"
TMP_USB="USB\ DISK"
sudo umount /run/media/benutzername/${TMP_USB}
Nach Eingabe des root-Kennworts erhalte ich allen Fällen (egal wieviele Rückwärtsschrägstriche) folgende Fehlermeldung:
$ /tmp/x.sh
umount: /run/media/benutzername/USB\: not found
umount: DISK/: not found
d.h. der umount-Befehl betrachtet trotz des Rückwärtsschrägstriches vor dem Leerzeichen das Leerzeichen nicht als Bestandteil des Namens des USB-Datenträgers, sondern als Trennzeichen für eine Liste von Namen.
Es ist bei allen Versuchen sichergestellt, dass ein USB-Datenträger namens „USB DISK“ im System eingehängt ist:
$ ls -1 /run/media/benutzername/
USB DISK
Nach Eingabe des umount-Befehls in der Befehlszeile
sudo umount /run/media/benutzername/USB\ DISK/
wird der Datenträger (nach Eingabe des root-Kennworts) ordnungsgemäß ausgehängt.
Was ist in das Skript einzufügen, damit der Aushängevorgang im Skript funktioniert?
Vielen Dank im voraus.
Gruß
Dieter