0

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

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

请给我一些解决方案

4

1 回答 1

2

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

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

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

于 2015-01-12T19:55:32.470 回答