Bash-скрипт, чтение из файла и запись в другой файл

У меня есть прокси-сервер с именем 3proxy. Мне нужен добавить ip следующим образом:

 flush
 auth iponly strong
 deny * * * 25,2525 * * *
 allow test
 proxy -n -a -i192.168.110.1 -e192.168.110.1 -p65233
 socks -n -a -i192.168.110.1 -e192.168.110.1 -p65234

Это блок конфигурации 3proxy. Мне нужно добавить в 3proxy еще 100 блоков конфига 3proxy с разными ip. Пишу скрипт:

if [ -f /root/ip ]; then
 for IP_IN_NGINX in `grep -v ^# /root/ip`; do
 cat > "/root/3proxy" <<END
 flush
 auth iponly strong
 deny * * * 25,2525 * * *
 allow test
 proxy -n -a -i$IP_IN_NGINX -e$IP_IN_NGINX -p65233
 socks -n -a -i$IP_IN_NGINX -e$IP_IN_NGINX -p65234
END
  done
fi

В / root / ip у меня блок с IP. В / root / 3proxy я хочу написать много блоков конфигурации с разными IP. Когда я запускаю скрипт, у меня есть в выходном файле один блок config 3proxy с одним IP. Но мне нужно много блоков конфигурации с разными IP из моего файла. Где у меня ошибка? Пожалуйста помоги.

1
задан 12 October 2016 в 11:23
1 ответ

Вы должны использовать >> , а не > ! В первом случае вы добавляете вывод (или создаете, если место назначения не существует), а в последнем вы перезаписываете.

0
ответ дан 4 December 2019 в 05:45

Теги

Похожие вопросы