Hallo zusammen,
ich habe da ein Problem mit der Bash. Vielleicht weiss ja jemand, wie man
es umgehen kann. Ich hab schon viel rumprobiert, aber ...
Folgendes:
Code:
#!bin/sh
# IFS leeren, wir wollen keine Quotes, wenn
# ein Dateiname mal Leerzeichen hat
IFS=
# gefundene Dateinamen, wegen eventuellen Leerzeichen im Namen
FILES=`find /das/ist/der/pfad -type f -print0 | xargs -i -0 echo -n "\"{}\" . 0 "`
dialog --checklist 'CHOOSE FILE(S)' 40 80 30 $FILES
Ich bekomme beim Aufruf von dialog immer einen Fehler, weil mir die Bash Single Quotes
um den Inhalt von $FILES macht. Daher wird es von dialog als EIN Parameter betrachtet.
Der Trace dazu sieht so aus:
Code:
++ find /das/ist/der/pfad -type f -print0
++ xargs -i -0 echo -n '"{}" . 0 '
+ FILES="/das/ist/der/pfad/datei.001" . 0 "/das/ist/der/pfad/datei.002" . 0
+ dialog --checklist 'CHOOSE FILE(S)' 40 80 30 '"/das/ist/der/pfad/datei.001" . 0 "/das/ist/der/pfad/datei.002" . 0 '
Wie kann ich die Bash davon abhalten, den Inhalt der Variable $FILES in
Hochkommas zu setzen?
Schonmal Danke fuer eventuelle Antworten und Vorschlaege.
MfG
Jadawin
Lesezeichen