原谅措辞;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。 有没有办法防止这种情况发生?
使用 lftp 的-e
选项:
lftp -e 'set ftp:ssl-force on; set ftp:ssl-protect-data on; set ssl:verify-certificate no'
根据lftp的手册:
- -e 命令
执行给定的命令并且不退出。
在脚本后连接 stdin
(英语:concat stdin)cat yourscript /dev/stdin | your_tftp_command
cat 也接受-
作为 stdin 的特殊文件名参数
cat yourscript - | your_tftp_command