我需要将文件从我的 Linux 服务器传输到 FTP 服务器。
我的 shell 脚本是:
#! /bin/ksh
HOST='my_ip'
USER='userid'
PASSWD='password'
FILE='file.txt'
DIREC='/eir_log'
ftp -in $HOST << EOMYF
user $USER $PASSWD
binary
mkdir $DIREC
cd $DIREC
pwd
quit
EOMYF
非常简单的代码。但问题是虽然我可以正常登录 FTP 服务器,但不允许我在 FTP 服务器中创建新目录。起初我以为我的脚本有一些错误,但即使我在 ftp 服务器中单独运行 mkdir
,它也会显示 create directory failed
。
有人可以让我知道可能的错误,或者如果我遗漏了我的代码中的任何错误。不过 pwd
工作正常,这意味着通过脚本登录 ftp 站点没有问题.
预先感谢您的帮助
最佳答案
看看expect
一些让你开始的东西
#!/usr/bin/expect
set timeout 120
spawn ftp 192.168.0.210
expect "Name"
send "root\r"
expect "Password:"
send "pass\r"
expect "ftp> "
send "bye\r"
关于自动执行ftp操作的linux脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12598071/