Ich versuche, den Dateinamen aus einer TXT-Datei zu lesen und Dateien auf einem FTP-Server von einem Ordner in einen anderen zu verschieben. Ich habe den folgenden BefehlLinux lftp mv Befehl mit Variable
grep '.rar' /home/xxxxx/public_html/xxxx/download.txt | while read -r line ; do lftp -e 'set net:timeout 20; mv "Folder Name/${line}" "Folder Name/tmp/${OUTPUT}"; bye' -u username,password ftps://11.11.11.11:990 ; done
Allerdings ist die $ {$ line} Variable nicht mit den Werten und der FTP-Server zeigt
file/directory not found (Folder Name/${line})
würde geschätzt Jeder Zeiger ersetzt. (Ich bin auf Centos 6.5, wenn das hilft).
Sie haben den gesamten Befehl in einfache Anführungszeichen eingeschlossen, und Variablen werden nicht innerhalb einzelner Anführungszeichenfolgen erweitert. Wenn Sie einfach die einfachen und doppelten Anführungszeichen im 'lftp'-Befehl umkehren, wird es wahrscheinlich funktionieren –