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.
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.
Tags bash proxy linux shell shell-scripting