alex23
15-05-2007, 12:59
Hallo erstmal...
ich hab ein mail-Script was anhand eines Namen mehrere Dateien zusammenfügt. Bei normalen Namen, also ohne Umalute, funktioniert auch alles Prima. Nur bei Namen mit einen oder mehr Umlauten kommt immer:
Rößler
./mail.sh: line 27: /tmp/$Name.tcsv: ambiguous redirect
./mail.sh: line 27: /tmp/Rößler.tcsv: ambiguous redirect
Bitte E-mail-Adresse eingeben!
das Scirpt arbeitet dann auch irgendwie, anscheinend sogar richt weiter. Doch irgendwas muss die Meldung ja zu sagen haben, ausserdem kommt beim Versand durch mutt der Name des Dateianhang abhanden. anstatt jetzt zB Rößler.csv kommt ATT58568.txt beim Empfänger an.
hier noch der code des scriptes:
#!/bin/bash
gawk -F';' '{print $2}' listen/liste.csv | sort -u
echo
echo "Bitte betreffenden Person angeben!"
echo
read Name
cat personen/$Name.txt > /tmp/$Name.csv
for i in `grep $Name listen/liste.csv | gawk -F';' '{print $1}'`
do
echo >> /tmp/$Name.csv
echo ";;;$i;" >> /tmp/$Name.csv
echo >> /tmp/$Name.csv
echo "Nachfolgende Personen bitte prüfen:" >> /tmp/$Name.csv
echo >> /tmp/$Name.csv
echo >> /tmp/$Name.csv
sed "s/^/$i;/" raume/$i.txt > /tmp/tmp-$i
cat /tmp/tmp-$i >> /tmp/$Name.tcsv (#Zeile 27)
done
sed "s/_-_/Nachfolgende Personen sind bereits in Gruppen erfasst/" /tmp/$Name.csv >> /tmp/$Name.txt
mv /tmp/$Name.txt /tmp/$Name.csv
echo "Bitte E-mail-Adresse eingeben!"
echo
read email
mutt -s "Rooms of $Name" -a /tmp/$Name.csv $email < text.txt
rm -f /tmp/$Name.*
rm -f /tmp/tmp-*
ich hab ein mail-Script was anhand eines Namen mehrere Dateien zusammenfügt. Bei normalen Namen, also ohne Umalute, funktioniert auch alles Prima. Nur bei Namen mit einen oder mehr Umlauten kommt immer:
Rößler
./mail.sh: line 27: /tmp/$Name.tcsv: ambiguous redirect
./mail.sh: line 27: /tmp/Rößler.tcsv: ambiguous redirect
Bitte E-mail-Adresse eingeben!
das Scirpt arbeitet dann auch irgendwie, anscheinend sogar richt weiter. Doch irgendwas muss die Meldung ja zu sagen haben, ausserdem kommt beim Versand durch mutt der Name des Dateianhang abhanden. anstatt jetzt zB Rößler.csv kommt ATT58568.txt beim Empfänger an.
hier noch der code des scriptes:
#!/bin/bash
gawk -F';' '{print $2}' listen/liste.csv | sort -u
echo
echo "Bitte betreffenden Person angeben!"
echo
read Name
cat personen/$Name.txt > /tmp/$Name.csv
for i in `grep $Name listen/liste.csv | gawk -F';' '{print $1}'`
do
echo >> /tmp/$Name.csv
echo ";;;$i;" >> /tmp/$Name.csv
echo >> /tmp/$Name.csv
echo "Nachfolgende Personen bitte prüfen:" >> /tmp/$Name.csv
echo >> /tmp/$Name.csv
echo >> /tmp/$Name.csv
sed "s/^/$i;/" raume/$i.txt > /tmp/tmp-$i
cat /tmp/tmp-$i >> /tmp/$Name.tcsv (#Zeile 27)
done
sed "s/_-_/Nachfolgende Personen sind bereits in Gruppen erfasst/" /tmp/$Name.csv >> /tmp/$Name.txt
mv /tmp/$Name.txt /tmp/$Name.csv
echo "Bitte E-mail-Adresse eingeben!"
echo
read email
mutt -s "Rooms of $Name" -a /tmp/$Name.csv $email < text.txt
rm -f /tmp/$Name.*
rm -f /tmp/tmp-*