Hallo Turtle,
Wenn in dem Ausgangsverzeichnis keine pdf-Dokumente vorhanden sind, dann gibt es leider auch eine Fehlermeldung deshalb.
Diese Fehlermeldung möchte ich aber unterdrücken, da ich es nicht als Fehler werte wenn keine pdf-Dokumente vorhanden sind.
Wie schaffe ich das?
Du kannst zwei Dinge machen: 1) kannst Du alle Fehlermeldungen unterdrücken, indem Du an einen Befehl 2>/dev/null anhängst (das leitet die Fehlerausgabe auf /dev/null um, und /dev/null kannst Du mit einem schwarzen Loch vergleichen):
mv -f /home/virtual/jubo.de/home/upload/*.pdf /home/virtual/jubo.de/var/www/html/_shop/_downloads 2>/dev/null
Allerdings unterdrückst Du somit auch Fehlermeldungen, die aus anderen Gründen auftauchen (bspw: aus irgend einem Grund stimmen die Dateirechte nicht mehr und das »mv« schlägt deswegen fehl - dann würdest Du ja informiert werden wollen, oder?). Insofern halte ich es für besser, einfach zu Prüfen, ob das »*« von der Shell expandiert wird (Dateien existieren) oder nicht:
$EXPANDIERT enthält nach dieser Zeile entweder
/home/virtual/jubo.de/home/upload/*.pdf oder eine Liste von Dateien
je nachdem, ob Dateien existieren, oder nicht.
EXPANDIERT=$(echo /home/virtual/jubo.de/home/upload/*.pdf)
Hier wird nun $EXPANDIERT mit /home/virtual/jubo.de/home/upload/*.pdf
verglichen - wenn $EXPANDIERT *nicht* diesen Wert hat, enthält es eine
Liste mit Dateien, und somit existieren überhaupt welche
if [ "/home/virtual/jubo.de/home/upload/*.pdf" != "${EXPANDIERT}" ] ; then
# Deswegen können die Dateien auch verschoben werden
mv -f /home/virtual/jubo.de/home/upload/*.pdf /home/virtual/jubo.de/var/www/html/_shop/_downloads
fi
Viele Grüße,
Christian