[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: mehrere Dateinamen in einer Variablen an Programm übergeben



Am Freitag 30 August 2013 schrieb Martin Steigerwald:
> Am Donnerstag, 29. August 2013, 20:29:45 schrieb Martin Steigerwald:
> > Das heißt, die Bash löst das Quoting nicht auf, wenn die Argumente als
> > Variable daher kommen. Interessant.
> > 
> > 
> > Hier würde jetzt
> > 
> > martin@merkaba:~ -> for DATEI in "file1" "file name" ; do echo
> > "$DATEI"; done file1
> > file name
> > 
> > funktionieren.
> 
> Von wegen, da gibts dann mit Variable dasselbe Problem:
> 
> martin@merkaba:~ -> filenames="\"file1\" \"file name\""
> martin@merkaba:~ -> for DATEI in $filenames ; do echo "$DATEI"; done
> "file1"
> "file
> name"
Ich würde mal _alle_ Variablen quoten

Folgendes hat bei mir funktioniert:
matthias@merlin:~$ for DATEI in "${filenames}" ; do echo "${DATEI}"; done
"file1" "file name"
matthias@merlin:~$ for DATEI in "${filenames}" ; do echo ${DATEI}; done
"file1" "file name"
matthias@merlin:~$ for DATEI in "${filenames}" ; do echo $DATEI; done
"file1" "file name"
matthias@merlin:~$ for DATEI in "$filenames" ; do echo $DATEI; done
"file1" "file name"
matthias@merlin:~$ 

Das hier:
matthias@merlin:~$ for DATEI in ${filenames} ; do echo "${DATEI}"; done
"file1"
"file
name"
ist wie bei dir

-- 
Mit freundlichen Grüßen
Matthias Müller
(Benutzer #439779 im Linux-Counter http://counter.li.org)
PS: Bitte senden Sie als Antwort auf meine E-Mails reine Text-Nachrichten!

Attachment: signature.asc
Description: This is a digitally signed message part.


Reply to: