无法使用 shellscript 中的 lftp 命令 运行

Not able use lftp commands running from shellscript

我正在使用 shellscript 中的一组命令。第一个命令 运行 很好,但它正在移动到 lftp 命令提示符并期望手动输入而不是来自 shelscript 的 运行 命令。以下是我正在使用的命令

lftp -e "$HOST"
lftp -u "$USER,$PWD" 
lftp -e "cd /inbox"
put $file
bye

请给我一些解决方案

使用小写变量名以避免与局部环境变量或shell-内置变量冲突($USER$PWD都是内置变量,所以你不应该设置它们你自己):

lftp \
  -e "cd /inbox; put $file" \
  -u "$user,$pwd" \
  "$host"

这里的重点是只调用 lftp 一次,并将所有必要的命令传递给该单次调用。