尝试发送一些文件时出现if循环问题

时间:2019-04-17 14:47:43

标签: bash loops ftp

我需要向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

1 个答案:

答案 0 :(得分:0)

我建议使用for,并且我认为这里的grep使用-q选项是不必要的:

for var in $(grep  example ./abc.txt); do
       your_code_here
done

这里var每次都包含文件名。