Удаление файла с LFTP, используя переменные
Я пытаюсь удалить файл с FTP-сервера в моей оболочке, используя lftp, но по какой-то причине он не будет использовать мои переменные и принимает их как литералы.
код:
USERNAME="theuser"
PASSWORD="verygoodpassword"
SERVER="example.com"
BACKUPDIR="thebackups"
FILETODELETE="uselessfile.obsolete"
lftp -e 'rm /${BACKUPDIR}/${FILETODELETE}; bye' -u $USERNAME,$PASSWORD $SERVER
то, что я хочу, это запустить:
lftp -e 'rm /thebackups/uselessfile.obsolete; bye' -u theuser,verygoodpassword example.com
но вместо этого он работает:
lftp -e 'rm /${BACKUPDIR}/${FILETODELETE}; bye' -u theuser,verygoodpassword example.com
и причины он не может найти литеральный файл " /${BACKUPDIR} / ${FILETODELETE}" на FTP-сервере и жалуется таким образом.
что я делаю не так???
Ура!
1 ответов
это потому, что вы используете простую цитату вместо двойных кавычек.
изменить это и будет работать
USERNAME="theuser"
PASSWORD="verygoodpassword"
SERVER="example.com"
BACKUPDIR="thebackups"
FILETODELETE="uselessfile.obsolete"
lftp -e "rm /${BACKUPDIR}/${FILETODELETE}; bye" -u $USERNAME,$PASSWORD $SERVER