Linux mput在FTP传输期间不传输所有文件

Linux mput在FTP传输期间不传输所有文件,linux,bash,unix,ubuntu,ftp,Linux,Bash,Unix,Ubuntu,Ftp,我的Unix FTP脚本有问题 在FTP会话期间,它只传输本地cd'ing目录中的前三个文件 下面是我正在使用的bash脚本: #!/bin/sh YMD=$(date +%Y%m%d) HOST='***' USER='***' PASSWD=*** FILE=*.png RUNHR=19 ftp -inv ${HOST} <<EOF quote USER ${USER} quote PASS ${PASSWD} cd /models/rtma/t2m/${YMD}/${RUNHR

我的Unix FTP脚本有问题

在FTP会话期间,它只传输本地cd'ing目录中的前三个文件

下面是我正在使用的bash脚本:

#!/bin/sh
YMD=$(date +%Y%m%d)
HOST='***'
USER='***'
PASSWD=***
FILE=*.png
RUNHR=19
ftp -inv ${HOST} <<EOF
quote USER ${USER}
quote PASS ${PASSWD}
cd /models/rtma/t2m/${YMD}/${RUNHR}/
mkdir /models/rtma/t2m/${YMD}/
mkdir /models/rtma/t2m/${YMD}/${RUNHR}/
lcd /home/aaron/grads/syndicated/rtma/t2m/${YMD}/${RUNHR}Z/
binary
prompt
mput ${FILE}
quit
EOF
exit 0
#/垃圾箱/垃圾箱
YMD=$(日期+%Y%m%d)
主机='***'
用户='***'
PASSWD=***
文件=*.png
RUNHR=19

ftp-inv${HOST}为什么要将cd'刻录到一个目录,然后在下一步中尝试创建它?在你尝试去那里之前创建它不是更好吗?还是我看错了?在“mput”之前加上“!pwd”和“!ls”怎么样,以确保你的位置在你认为的位置?如果是bash脚本,那么把它放在shebang中,让未来的读者和维护人员知道你期待的是bash功能?你放的文件名是不是严格的字母数字名称,没有空格或UTF8字符,等等?一些ftp客户端对可在1
mput
中处理的文件数量有限制,或者在我处理的1种情况下,对构成$FILE变量的“单词”的总长度有限制。如果ubuntu真的是这样,我会感到惊讶,但可能是你的接收系统有局限性。你可能需要做一些实验来找出答案。祝你好运。谢谢大家的评论!我将尝试使用sftp和/或scp进行实验,看看它是如何运行的。