Bash 脚本,从文件读取并写入其他文件

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 个具有不同 IP 的配置 3proxy 块。我编写了脚本:

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 的配置块。当我启动脚本时,输出文件中有一个具有一个 IP 的 3proxy 配置块。但我需要文件中具有不同 IP 的多个配置块。我哪里出错了?请帮忙。

答案1

您应该使用>>而不是>!使用前者,您可以附加输出(如果目标不存在,则创建),而使用后者,您可以覆盖。

相关内容