原谅措辞; 15年来没有用bash做过任何事情。
我正在尝试编写一个shell脚本,它将运行并连接到lftp,然后执行几个命令,具体来说:
set ftp:ssl-force on
set ftp:ssl-protect-data on
set ssl:verify-certificate no
然后我想留在lftp内部以便我可以发送其他命令(例如,我不知道我要下载什么文件名,直到我可以在远程目录上执行ls)。
当我尝试将一个bash脚本编写为管道命令到lftp时,它可以工作,但是当它到达脚本的最后一行时也会立即退出lftp。有没有办法防止这种情况发生?
答案 0 :(得分:2)
使用lftp的-e
选项:
lftp -e 'set ftp:ssl-force on; set ftp:ssl-protect-data on; set ssl:verify-certificate no'
根据lftp的手册页:
-e commands
Execute given commands and don't exit.
答案 1 :(得分:0)
脚本后的concat stdin
cat yourscript /dev/stdin | your_tftp_command
cat也接受-
作为stdin的特殊文件名参数
cat yourscript - | your_tftp_command