当前位置: 技术问答>linux和unix
SHELL脚本运行错误
来源: 互联网 发布时间:2016-10-13
本文导语: 我写了个脚本,在ftp上下载多个文件,格式是./ftpo3.sh file1 file2 file3... 代码如下: ipaddr=128.32.96.163; if [ $# -lt 1 ] then echo "Useage: $0 ..." exit fi for FILE in "$@"; do ftp -n $ipaddr cd aix64/bin ...
我写了个脚本,在ftp上下载多个文件,格式是./ftpo3.sh file1 file2 file3...
代码如下:
ipaddr=128.32.96.163;
if [ $# -lt 1 ]
then
echo "Useage: $0 ..."
exit
fi
for FILE in "$@"; do
ftp -n $ipaddr cd aix64/bin
bi
get $FILE
bye
done
!
错误提示:
syntaxerror at line 19: 'end of file' unexpected
是什么原因,怎么解决呢,我把for循环去掉再运行就不会出错误提示,如下:
ipaddr=128.32.96.163;
if [ $# -lt 1 ]
then
echo "Useage: $0 ..."
exit
fi
#for FILE in "$@"; do
ftp -n $ipaddr cd aix64/bin
bi
get $1
get $2
get $3
bye
#done
!
大家帮忙看看啊!
代码如下:
ipaddr=128.32.96.163;
if [ $# -lt 1 ]
then
echo "Useage: $0 ..."
exit
fi
for FILE in "$@"; do
ftp -n $ipaddr cd aix64/bin
bi
get $FILE
bye
done
!
错误提示:
syntaxerror at line 19: 'end of file' unexpected
是什么原因,怎么解决呢,我把for循环去掉再运行就不会出错误提示,如下:
ipaddr=128.32.96.163;
if [ $# -lt 1 ]
then
echo "Useage: $0 ..."
exit
fi
#for FILE in "$@"; do
ftp -n $ipaddr cd aix64/bin
bi
get $1
get $2
get $3
bye
#done
!
大家帮忙看看啊!
|
把最后那个感叹号!放到bye那句之后
顶格写!
ipaddr=128.32.96.163;
if [ $# -lt 1 ]
then
echo "Useage: $0 ..."
exit
fi
for FILE in "$@"; do
ftp -n $ipaddr cd aix64/bin
bi
get $FILE
bye
!
done
顶格写!
ipaddr=128.32.96.163;
if [ $# -lt 1 ]
then
echo "Useage: $0 ..."
exit
fi
for FILE in "$@"; do
ftp -n $ipaddr cd aix64/bin
bi
get $FILE
bye
!
done
|
额..我和主席想说的一样..你的"!"放错位置
|
for循环对应的done放到最后,他们是配对的
可以简化一下:
for FILE
...
done
可以简化一下:
for FILE
...
done