Requirement:需要基于远程位置(Linux服务器)上存在的通配符条目获取文件计数,并将其存储在变量中以进行验证]
尝试以下代码
export ExpectedFileCount=$(ftp -inv $FTPSERVER >> $FTPLOGFILE <<END_SCRIPT
user $FTP_USER $FTP_PASSWORD
passive
cd $PATH
ls -ltr ${WILDCARD}*xml| wc -l | sed 's/ *//g'
quit
END_SCRIPT)
但是代码是将代码段存储在变量中,并在每次调用变量时执行命令。
请在脚本中建议更改,以执行一次脚本并将其值存储在变量中
export ExpectedFileCount=`ftp -in $FTPSERVER << END_SCRIPT | tee -a $FTPLOGFILE | egrep -c '\.xml$'
user $FTP_USER $FTP_PASSWORD
passive
cd $REMOTE_PATH
ls -l
quit
END_SCRIPT`
问题:
$REMOTE_PATH
代替远程目录的$PATH
(因为$PATH
具有特殊含义)ls -l
,并且在本地解析输出,因为它不支持任意的shell命令