Hallo zusammen,
ich habe mir eine Script (Linux / Shell) gebastelt, welche in einem bestimmten Ordner überprüfen soll, ob Datei X und Datei Y vorhanden sind. Ist dies der Fall, so sollen die Dateien in ein anderen Ordner verschoben werden und gleichzeitig umbenannt werden.
Klingt absolut leicht, allerdings bekomme ich merkwürdige Fehler.
Mein Script sieht wie folgt aus:
(Wird in einem Loop ausgeführt… hier nur der bestimmte teil des Scriptes ($SUB = F32))
if [-f /var/www/x/datei_x.txt] && [-f /var/www/y/datei_y.txt];then
echo ‚File found!‘
if ["$SUB" = „F32“];then
cp /var/www/x/datei_x.txt /var/www/_temp/F32/F32_d_x.txt
cp /var/www/y/datei_y.txt /var/www/_temp/F32/F32_d_y.txt
fi
else
echo ‚File not found!‘
fi
(natürlich könnte man die beiden IF Anweisungen auch zusammenführen, aber datum geht es nicht)
Folgender Fehler tritt dabei auf…
-
Wenn ich die Script via Cron mit beiden IF Anweisungen laufen lasse kommt foglender Fehler:
/var/www/d_xy.sh: line 369: [: /var/www/x/datei_x.txt: binary operator expected -
Wenn ich die Script via Cron, allerdings ohne die erste IF Anweisung laufen lasse kommt folgendes:
cp: target `/var/www/_temp/F32/F32_d_x.txt’ is not a directory
Allerdings, und das ist das lustige an der Geschichte, wenn ich die Script per Hand starte funktioniert alles.
Kann mir jemand einen Tipp zu diesem Mysterium geben?
Vielen Dank