我需要向FTP服务器发送一些文件,但是即使文档中包含字符串“ example”的更多条目,以下脚本也只能运行一次。在/abc.txt中,有指向要发送到FTP服务器的文件的路径。
#!/bin/sh
if grep -q example "/abc.txt" ;
then
var=$( cat /abc.txt )
HOST='X.X.X.X'
USER='USER'
PASSWD='PASSWORD'
cd $var
FILE='./*.txt'
ftp -nv $HOST > /abc.log.txt <<ENDSCRIPT
quote USER $USER
quote PASS $PASSWD
passive
put $FILE
bye
quit
ENDSCRIPT
echo $FILE
sed -i '1d' "/abc.txt"
else
echo "error"
fi
答案 0 :(得分:0)
我建议使用for
,并且我认为这里的grep使用-q
选项是不必要的:
for var in $(grep example ./abc.txt); do
your_code_here
done
这里var
每次都包含文件名。