Shell 脚本在以下情况下失败;mv";用“棍棒”打;ftp“;
我尝试在脚本文件中包含mv命令和ftp命令。但是当我运行这个脚本文件时,mv命令失败了 代码:Shell 脚本在以下情况下失败;mv";用“棍棒”打;ftp“;,shell,unix,ftp,mv,Shell,Unix,Ftp,Mv,我尝试在脚本文件中包含mv命令和ftp命令。但是当我运行这个脚本文件时,mv命令失败了 代码: /usr/bin/ftp -i -n $HOST <<END_FTP quote USER $USER quote PASS $PASSWD cd /home/infodba/temploc/test_script/ binary mget Cust*.txt mv Cust*.txt ./archive quit END_FTP exit 0 /usr/bin/ftp-i-n$HOS
/usr/bin/ftp -i -n $HOST <<END_FTP
quote USER $USER
quote PASS $PASSWD
cd /home/infodba/temploc/test_script/
binary
mget Cust*.txt
mv Cust*.txt ./archive
quit
END_FTP
exit 0
/usr/bin/ftp-i-n$HOSTmv
不是有效的ftp命令。如果您试图将刚获取的文件移动到./archive,则需要先退出ftp,或使用退出命令代码>
!mv Cust*.txt./archive
ftp/sftp不支持mv命令(即,您不能在远程主机中移动文件,但使用bang(!)您将能够在本地主机中执行命令
从远程主机获取文件后,如果您试图在下面的localhost中移动文件,则可以正常工作
/usr/bin/ftp -i -n $HOST <<END_FTP
...
mget Cust*.txt
!mv Cust*.txt ./archive
...
...
END_FTP
/usr/bin/ftp-i-n$HOST我实际上打算在远程计算机上移动文件,而不是本地如果您想在远程计算机上移动文件,请使用ssh登录到远程主机,并将远程文件scp到目标/本地计算机,然后在远程主机上移动文件。然后,您不能在ftp中执行此操作。我想您可以mput
刚刚获取的文件,但这将是非常低效的。您需要改为“ssh”到远程服务器。