我正在尝试使用 LFTP 从我的 shell 脚本中的 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
关于linux - 使用变量通过 LFTP 删除文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9773454/