我想编写一个在后台运行ftp的bash脚本。我想以某种方式向它发送命令并接收响应。例如,想要运行ftp,然后发送它
user username pass
cd foo
ls
binary
mput *.html
并接收状态代码并验证它们。我试着这样做
tail -n 1 -f in | ftp -n host >> out &
然后读出文件并进行验证。但它不起作用。有人能告诉我正确的方法吗?非常感谢。
答案 0 :(得分:1)
我运行一组命令,检查输出,然后运行第二组以响应输出。您可以使用here-documents作为命令集,使用command substitution来捕获变量中的输出,例如像这样:
output=$(cat <<EOF | ftp -n host
user username pass
cd foo
ls
binary
mput *.html
EOF
)
if [[ $output =~ "error message" ]]; then
# do stuff
fi