LFTPを使用してシェルスクリプトの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}"を見つけることができず、このように文句を言います。
私は何が間違っているのですか?
乾杯!