由于某种原因,我无法让最后一行工作。它离开我在ftp user@server.org:〜>提示。有什么建议吗?
#!/bin/bash
echo "This will sync the background_docs folder"
lftp ftp://user:pass@server
mirror -r background_docs --only-missing -e
答案 0 :(得分:5)
我猜你想让lftp运行最后一行,
mirror -r background_docs --only-missing -e
正确?
如果是这样,你必须告诉它这样做。在编写时,您的脚本只需启动lftp,等待它完成,然后才会尝试执行最后一行。
您可能想要的是使用lftp
的{{1}}选项,因此:
-e cmd
答案 1 :(得分:0)
您编写了一个shell脚本。每一行都在shell中作为新命令执行。当您按 ^ D 关闭lftp
时,它将尝试运行mirror
命令。 (甚至可能存在于您的系统上。)
如果您想以这种方式向程序发送命令,请查看expect(1)
工具。甚至还有一种学习模式(这比我手写的expect
脚本更能让我获得成功)。
但也许你的lftp(1)
命令可以用命令行参数来处理?那会更可靠。