Hinweis: Das Forum wird geschlossen! Neue Registrierungen sind nicht mehr möglich!

 Zurück zu Pro-Linux   Foren-Übersicht   FAQ     Suchen    Mitgliederliste
Bash: Problem mit Leerzeichen in Dateinamen

 
Neuen Beitrag schreiben   Auf Beitrag antworten    Pro-Linux Foren-Übersicht -> Programmieren - Allgemein
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Gernot+Häle
Gast





BeitragVerfasst am: 24. Aug 2002 21:20   Titel: Bash: Problem mit Leerzeichen in Dateinamen

Ich habe folgendes Problem. Ich moechte aus einem Script heraus alle
Dateien im Verzeichnis /windows/c/Eigene Dateien sichern. Den Verzeichnis-
namen will ich jedoch nicht explizit beim Aufruf des tar-Befehles anfuehren,
sondern zuerst einer Variable zuweisen, naemlich src_name, also

src_name=/windows/c/Eigene\ Dateien

Der korrekte tar-Aufruf lautet dann:

tar -zcvf test.tar.gz $src_name

Eigentlich sollte das ja funktionieren. Aber denkste. Ich bekomme
staendig die folgende Fehlermeldung:

--- FEHLERMELDUNG ANFANG ---
tar: /windows/c/Eigene: Cannot stat: Datei oder Verzeichnis nicht gefunden
tar: Dateien: Cannot stat: Datei oder Verzeichnis nicht gefunden
tar: Fehler beim Beenden, verursacht durch vorhergehende Fehler.
---- FEHLERMELDUNG ENDE ----

Laut 'echo $src_name' lautet der Inhalt von src_name jedoch
tatsaechlich: /windows/c/Eigene Dateien

Ich habe auch schon Folgendes probiert:

src_name=/windows/c/Eigene Dateien
src_name='/windows/c/Eigene\ Dateien'
src_name="/windows/c/Eigene\ Dateien"

Ich habe auch schon probiert, den Verzeichnisnamen in zwei Komponenten
aufzusplitten, z. B.

src1='/windows/c/Eigene'
src2='\ Dateien'
tar -zcvf test.tar.gz $src1$src2

Ich weiss ja, dass Linux mit Datei-/Verzeichnisnamen, die ein
Leerzeichen enthalten, Probleme hat, aber es muss doch moeglich sein,
per Variable einen solchen Namen an ein Programm zu uebergeben.

Uebrigens: 'tar -zcvf test.tar.gz /windows/c/Eigene\ Dateien'
funktioniert tadellos.

Zur Info: ich verwende Bash 2.05.0(1)-release

Fuer Tipps in dieser Angelegenheit waere ich dankbar.

Mit freundlichen Gruessen,

Gernot HAELE, OESTERREICH
 

michaell
Gast





BeitragVerfasst am: 24. Aug 2002 22:01   Titel: Re: Bash: Problem mit Leerzeichen in Dateinamen

Ich bin da auch nicht so fit, aber du kannst statt dem Leerzeichen ein ? einfügen.
 

Udo Maslo
Gast





BeitragVerfasst am: 25. Aug 2002 4:46   Titel: Re: Bash: Problem mit Leerzeichen in Dateinamen

Der korrekte tar-Aufruf lautet dann:
code:

tar -zcvf test.tar.gz "${src_name}"


Damit liegst Du auf der sicheren Seite. Die meisten Bash-Scripte stehen hier auf wackligen Füßen. Was bei Win95 eine Kinderkrankheit war, ist bei Linux/Unix leider eine eklige Dauererscheinung.
Probier mal ein rpm aus einem Pfad mit Leerzeichen (etwa .../Eigene Dateien/rpms/... ) zu installieren!
 

Udo M.
Gast





BeitragVerfasst am: 25. Aug 2002 5:00   Titel: Re: Bash: Problem mit Leerzeichen in Dateinamen

src_name=/windows/c/Eigene\ Dateien

Geht hier natürlich genau so:
src_name="/windows/c/Eigene Dateien"


Das Übel liegt natürlich nicht bei Linux und meist auch nicht bei ordentlichen binären Programmen, sondern bei nachlässig geschriebenen Scripten oder ganz einfach daran, daß es eben nicht möglich ist, die Ausgabe eines Programms weiter zu verarbeiten, weil eben die Ausgabe nicht mit "" oder \ u.ä. maskiert wird. Das System selbst stört sich nicht an < > * : \ ? oder CrLf und sonstigem in Dateinamen.
 

Ândy
Gast





BeitragVerfasst am: 03. Sep 2002 10:22   Titel: Re: Bash: Problem mit Leerzeichen in Dateinamen

Soweit ich weiss, dürfte das ganze doch auch mit MS-DOS-Namen funktionieren, oder ?

Also mit /windows/C/eigene~1 ??

oder nicht ?
 

Beiträge vom vorherigen Thema anzeigen:   
     Pro-Linux Foren-Übersicht -> Programmieren - Allgemein Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehen Sie zu:  

Powered by phpBB © phpBB Group
pro_linux Theme © 2004 by Mandaxy