【发布时间】:2014-06-11 21:42:18
【问题描述】:
我有一个大约 10 台服务器的列表,我想在所有 10 台服务器中更改一个字符串。
我编写了一个脚本,它查看文件并带有循环,应该使用 perl -i -pe 将行 /opt/nimsoft/bin/niminit "" "start" 更改为 #/opt/nimsoft/bin/niminit "" "start"(添加 # 以注释掉)
oldstring = /opt/nimsoft/bin/niminit "" "start"
newstring = #/opt/nimsoft/bin/niminit "" "start"
我在转义 / 时遇到问题,我尝试了 \ 和 \Q 和 \E。有什么想法吗?
for i in `cat $file`
do
echo "Disable application on startup"
oldstring=start /opt/nimsoft/bin/niminit "" "start"
newstring=#start /opt/nimsoft/bin/niminit "" "start"
ssh -t $i sudo perl -p -i -e 's/oldstring/newstring/g' /etc/rc.tcpip
# /etc/rc.tcpip:start /opt/nimsoft/bin/niminit "" "start"
echo "==============================================="
done
【问题讨论】: