Script de bash, lido do arquivo e gravado em outro arquivo

1

Eu tenho um servidor proxy chamado 3proxy. Eu preciso adicionar ip assim:

 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

Este é um bloco de configuração do 3proxy. Preciso adicionar no 3proxy mais 100 blocos de config 3proxy com ip diferente. Eu escrevo script:

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

Em / root / ip, eu tenho um bloco com IP. Em / root / 3proxy eu quero escrever muitos blocos de configuração com IP diferente. Quando inicio o script, eu tenho no arquivo de saída um bloco de configuração do 3proxy com um IP. Mas eu preciso de muitos blocos de configuração com IP diferentes do meu arquivo. Onde eu tenho erro? Por favor ajude.

    
por Piduna Valeriu 12.10.2016 / 10:23

1 resposta

0

Você deve usar >> e não > ! Com o primeiro você anexa a saída (ou cria se o destino não existir) enquanto você sobrescreve o último.

    
por 12.10.2016 / 10:43