使用变量删除带有LFTP的文件



我正试图使用LFTP从shell scrip中的FTP服务器中删除一个文件,但由于某些原因,它不会使用我的变量,而是将它们作为文本。

代码:

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

当然,它在FTP服务器上找不到文本文件"/${BACKUPDIR}/${FILETODELETE}",并因此抱怨。

我做错了什么???

干杯!

这是因为您使用的是单引号而不是双引号。

更改此项并将工作

USERNAME="theuser"
PASSWORD="verygoodpassword"
SERVER="example.com"
BACKUPDIR="thebackups"
FILETODELETE="uselessfile.obsolete"
lftp -e "rm /${BACKUPDIR}/${FILETODELETE}; bye" -u $USERNAME,$PASSWORD $SERVER

相关内容

  • 没有找到相关文章

最新更新