warum wird find:'/root/Documents* gedruckt?

warum wird find:'/root/Documents* gedruckt?

else
then
 files1=$(find /root/Documents/actualBACKUPpath/co* -type f | wc -l)
if [ $files1 = 6 ];
 then
 rm  -rv /root/Documents/folder6astmp/co*
 cp -v /root/Documents/actualBACKUPpath/co*
/root/Documents/folder6astmp/
  rm -rv /root/Documents/actualBACKUPpath/co*
echo other day operation success with actual backup path
  else
   files2=$(find /root/Documents/folder6astmp/co* -type f | wc -l)
 if [ $files2 = 6 ];
                then
echo we have nothing to do in tmp directoy success
                fi
  fi fi

Wenn ich den obigen Code ausführe, erhalte ich folgende Ausgabe:

find: ‘/root/Documents/actualBACKUPpath/co*’: No such file or
directory

we have nothing to do in tmp directory success

es funktioniert wie erwartet einwandfrei, aber warum find:'/root/Documents*wird die Anweisung gedruckt?

Antwort1

Meine Vermutung wäre, dass es im Verzeichnis /root/Documents/actualBACKUPpath keine Dateien gibt, die dem Muster „co*“ entsprechen, und dass der Befehl cp sich darüber beschwert.

Versuchen Sie, das Skript mit der Option -vx auszuführen, damit es Ihnen anzeigt, was es tut:

bash -vx scriptname

Oder fügen Sie (vorübergehend) dieselben Optionen in die Skriptdeklaration in der ersten Zeile des Skripts ein:

#! /bin/bash -vx 
. . . 

verwandte Informationen