Проблема с циклом if при попытке отправить несколько файлов - PullRequest
0 голосов
/ 17 апреля 2019

Мне нужно отправить несколько файлов на FTP-сервер, но следующий скрипт запускается только один раз, даже если в документе больше записей со строкой «пример». В /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 голосов
/ 17 апреля 2019

Я рекомендую использовать for, и я думаю, что использование опции -q для grep здесь не нужно:

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

Здесь var будет каждый раз содержать имя файла.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...