Я создал сценарий bash, чтобы временно помочь мне отправить некоторые файлы на FTP-сервер на основе идентификатора commit, я получу последний коммит, отслеживаю файлы и отправляю их в списке ниже.Получить вывод FOR с EOF в bash
#!/bin/bash
commit_hash=$(git log --format="%H" -n 1)
[[ -z "$1" ]] || commit_hash=$1
files=$(git diff-tree --no-commit-id --name-only -r $commit_hash)
echo -e $(git log -1 $commit_hash --pretty=format:"%h - %an, %ar : %s");
printf "\n"
HOST=
USER=
PASS=
for file in $files; do
ftp -nv $HOST << EOF
user $USER $PASS
cd /www/example
passive
put $file
bye
EOF
done;
Конечно, это не лучший подход к этому, но я автоматизировал некоторые вещи, над которыми я сейчас работаю.
можно поймать выход ftp heredoc и применить некоторые фильтры? например, с конвейерами, я только хочу знать, успешно ли завершена передача.
Как насчет проверки кода состояния выхода 'ftp' с переменной' $? 'Bash? Он может содержать достаточно информации, чтобы выяснить, удалось ли выполнить запрос. – redneb