Hi,
ich hab's gelöst. Letztendlich lag es an den Blanks als Seperatorzeichen (interne Bashvariable IFS). Die setzte ich im Script jetzt temporär auf den Seperator ";" womit das ganze dann funktioniert.
Hier mein finales Script, das jetzt mit auch mit Dateinamen die ein Leerzeichen enthalten, umgehen kann.
@ralul: deinen Tipp muss ich mal zu Gemüte führen - Danke!
#!/bin/bash
#
ALL_PDF="$@"
COUNTER=0
FILE_LIST=`echo ${ALL_PDF// \//;\/}`
echo "Die markierten PDF-Dateien..."
echo ""
IFS=";"
for NAME in $FILE_LIST
do
echo " $NAME"
FILE=`basename $NAME`
FILE_PRAEFIX=`echo $FILE | cut -d"." -f1`
if [ $COUNTER -eq 0 ]
then
DIRNAME=`dirname $NAME`
MERGE_PDF=$FILE_PRAEFIX
elif [ $COUNTER -gt 0 ]
then
MERGE_PDF=$MERGE_PDF"_"$FILE_PRAEFIX
fi
COUNTER=`expr $COUNTER + 1`
done
NO_BLANKS=`echo $MERGE_PDF | tr -d [:blank:]`
MERGE_PDF=$NO_BLANKS".pdf"
# Einen komletten String für die Verarbeitung mit pdftk erstellen
# IFS muss temp. gesetzt werden, ansnsten erzeugen Dateinamen mit
# Blanks Fehlermeldungen beim pdftk Kommando
COUNTER=0
IFS=";"
for STRING in $FILE_LIST
do
if [ $COUNTER -eq 0 ]
then
ONE_NAME_STRING=$STRING
elif [ $COUNTER -gt 0 ]
then
ONE_NAME_STRING="$ONE_NAME_STRING;$STRING"
fi
COUNTER=`expr $COUNTER + 1`
done
pdftk $ONE_NAME_STRING cat output $DIRNAME/$MERGE_PDF
echo ""
echo "...werden zu einem Dokument zusammengefügt"
echo ""
echo " $DIRNAME/$MERGE_PDF"
echo ""
echo ""
echo "Fenster bitte schließen mit Taste RETURN"
read RET
#EOF