Wolfgang Erlenkötter schrieb:
Hallo Liste,
ich teste gerade ein Skript und verstehe nicht, warum es nicht so funktioniert, wie es sollte:
Mit find . -type f -maxdepth 1 -print|sed 's/ /\\ /g' auf der Kommandozeile erhalte ich:
./KARL ./karl ./paul ./ott.sh ./Diese\ Datei ./teste.tar
(Die Dateien im aktuellen Verzeichnis) Das heißt, die Leerstelle in dem Dateinamen Diese Datei soll geschützt werden.
Baue ich das ganze in ein Skript:
for FILE in `find . -type f -maxdepth 1 -print|sed 's/ /\\ /g'`; do echo -n "File: $FILE -> " if [ -e $FILE ]; then echo -e "\033[32mOK\033[m" else echo -e "\033[31mERROR\033[m" fi done
geht das schief?
Meine Frage: 1) Warum geht es schief? 2) Wie mache ich das besser?
Danke schon mal für die Tipps.
Tja, Kristallkugel hab ich keine, was geht schief? Obiger Code läuft bei mir sowohl als Script wie auf der Commandozeile. so long... bernd