-2

我想编写一个在后台运行 ftp 的 bash 脚本。我想以某种方式向它发送命令并接收响应。例如一个想运行ftp,然后发送它

user username pass
cd foo
ls
binary
mput *.html

并接收状态代码并验证它们。我试着这样做

tail -n 1 -f in | ftp -n host >> out &

然后读出文件并验证。但它不起作用。有人可以告诉我正确的方法吗?非常感谢。

4

1 回答 1

1

我会运行一组命令,检查输出,然后根据输出运行第二组命令。您可以将here-documents用于命令集和命令替换,以捕获变量中的输出,例如:

output=$(cat <<EOF | ftp -n host
user username pass
cd foo
ls
binary
mput *.html
EOF
)

if [[ $output =~ "error message" ]]; then
  # do stuff
fi
于 2013-05-27T00:11:28.667 回答