我正在尝试编写一个代码来检查特定日期的文件,如果它存在,它将把它带到我的本地主路径,如果它不存在,那么将检索不同日期的其他文件。
#!/bin/ksh
FILE1="CAS_20170604.txt"
FILE2="CAS_20170603.txt"
/usr/bin/ftp -n 93.45.148.9 << EOF
user usr passwd
cd "/abc/def"
bin
get $FILE1
if [ ! -f $FILE1 ];
then
cd "/abc/def"
bin
get $FILE2
fi
bye
!EOF!
在执行脚本时,我得到了两个不需要的文件,以及以下错误:
?Invalid command
?Invalid command
请有人在这里帮助我。
答案 0 :(得分:2)
您无法在ftp
脚本中使用shell命令。
您必须将脚本分成两部分:
/usr/bin/ftp -n 93.45.148.9 << EOF
user usr passwd
cd "/abc/def"
bin
get $FILE1
bye
!EOF!
if [ ! -f $FILE1 ];
then
/usr/bin/ftp -n 93.45.148.9 << EOF
user usr passwd
cd "/abc/def"
bin
get $FILE2
bye
!EOF!
fi