funktioniert nicht ich folgendes haben:
while [ "${*}" != "" ] ; do
DPX_FOLDER="${1}"
TARGET_FOLDER="/Users/medialab/Desktop/07_DPX_checksums"/$(basename "${DPX_FOLDER}")
mkdir "${TARGET_FOLDER}"
echo
for file in "${DPX_FOLDER}"/*DPX/* ; do
if [ -f "${TARGET_FOLDER}"/"$file" ] ; then
echo "$file" exists, skipping
else rsync -aPhi "$file" "${TARGET_FOLDER}"
fi
break 1
done
Mein Skript hallt nicht "$file" exists, skipping
, selbst wenn die Datei vorhanden ist. Es geht zur else-Anweisung und führt das jedes Mal aus. Stimmt etwas nicht mit meiner Aussage?
Gibt es Leerzeichen in Dateinamen? Außerdem ist Ihr Beispiel derzeit nicht reproduzierbar. – merlin2011
@ merlin2011, das Zitat ist korrekt (abgesehen von der Quotation des Aufrufs '$ (Basisname" $ DPX_FOLDER ")), so dass Leerzeichen kein Problem sind. Auf der anderen Seite erwartet das Skript, dass das 'DPX_FOLDER'-Verzeichnis unter 'TARGET_FOLDER' existiert und * diese * Annahme wahrscheinlich falsch ist. –
Sie haben gerade den Zielordner erstellt, er sollte also leer sein. Warum sollte die Datei bereits existieren? – Barmar