Linux

Bash腳本,從文件讀取並寫入其他文件

  • October 12, 2016

我有一個名為 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 編寫許多配置塊。當我啟動腳本時,我在輸出文件中有一個配置 3proxy 塊和一個 IP。但是我需要許多配置塊,這些配置塊與我的文件中的 IP 不同。我哪裡有錯誤?請幫忙。

你應該使用>>而不是>!使用前者,您附加輸出(如果目標不存在,則創建),而使用後者覆蓋。

引用自:https://serverfault.com/questions/808549