Arrays 在shell中循环通过数组时出错
我已经编写了一个脚本来从我的目录中ftp一组文件,但是我在尝试循环遍历数组时遇到了一个错误Arrays 在shell中循环通过数组时出错,arrays,shell,unix,ftp,Arrays,Shell,Unix,Ftp,我已经编写了一个脚本来从我的目录中ftp一组文件,但是我在尝试循环遍历数组时遇到了一个错误 #!/usr/bin/ksh HOST='xxx.xxx.xxx.xxx' USER='avio' PASSWD='jun' FILES[0]=D141203.T024413 FILES[1]=D150101.T012755 FILES[2]=D141203.T024418 echo 'no of files: ' ${#FILES[@]} ftp -n -v $HOST <&
#!/usr/bin/ksh
HOST='xxx.xxx.xxx.xxx'
USER='avio'
PASSWD='jun'
FILES[0]=D141203.T024413
FILES[1]=D150101.T012755
FILES[2]=D141203.T024418
echo 'no of files: ' ${#FILES[@]}
ftp -n -v $HOST << EOS
ascii
user $USER $PASSWD
for i in "${FILES[@]}"
do
get $i
done
bye
EOS
for
循环不作为bash
命令执行;而是作为字符串传递给ftp
命令。相反,使用管道将命令输出馈送到ftp
:
#!/usr/bin/ksh
HOST='xxx.xxx.xxx.xxx'
USER='avio'
PASSWD='jun'
FILES[0]=D141203.T024413
FILES[1]=D150101.T012755
FILES[2]=D141203.T024418
echo 'no of files: ' ${#FILES[@]}
{ echo "ascii"
echo "user $USER $PASSWD"
for i in "${FILES[@]}"; do
echo "get $i"
done
echo "bye"
} | ftp -n -v $HOST
for
循环不作为bash
命令执行;而是作为字符串传递给ftp
命令。相反,使用管道将命令输出馈送到ftp
:
#!/usr/bin/ksh
HOST='xxx.xxx.xxx.xxx'
USER='avio'
PASSWD='jun'
FILES[0]=D141203.T024413
FILES[1]=D150101.T012755
FILES[2]=D141203.T024418
echo 'no of files: ' ${#FILES[@]}
{ echo "ascii"
echo "user $USER $PASSWD"
for i in "${FILES[@]}"; do
echo "get $i"
done
echo "bye"
} | ftp -n -v $HOST