我想编写一个在后台运行 ftp 的 bash 脚本。我想以某种方式向它发送命令并接收响应。例如一个想运行ftp,然后发送它
user username pass
cd foo
ls
binary
mput *.html
并接收状态代码并验证它们。我试着这样做
tail -n 1 -f in | ftp -n host >> out &
然后读出文件并验证。但它不起作用。有人可以告诉我正确的方法吗?非常感谢。
我会运行一组命令,检查输出,然后根据输出运行第二组命令。您可以将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