Sva*_*nte 6 linux ftp bash shell lftp
我正在尝试使用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
Run Code Online (Sandbox Code Playgroud)
我想要它做的是运行:
lftp -e 'rm /thebackups/uselessfile.obsolete; bye' -u theuser,verygoodpassword example.com
Run Code Online (Sandbox Code Playgroud)
但它运行:
lftp -e 'rm /${BACKUPDIR}/${FILETODELETE}; bye' -u theuser,verygoodpassword example.com
Run Code Online (Sandbox Code Playgroud)
并且因为它无法在FTP服务器上找到文字文件"/ $ {BACKUPDIR}/$ {FILETODELETE}"并因此抱怨.
我究竟做错了什么???
干杯!
Arn*_* F. 14
那是因为你使用简单的引号而不是双引号.
改变这一点,并将工作
USERNAME="theuser"
PASSWORD="verygoodpassword"
SERVER="example.com"
BACKUPDIR="thebackups"
FILETODELETE="uselessfile.obsolete"
lftp -e "rm /${BACKUPDIR}/${FILETODELETE}; bye" -u $USERNAME,$PASSWORD $SERVER
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13239 次 |
| 最近记录: |