在my question我学会使用循环,并与您一起帮助我最后一个软件的多个实例的安装脚本。非常感谢:)壳用于循环与多变量
现在我尝试通过使用sed自动设置配置文件。为此,我需要循环中的多变量变量。
我从系统中IP-并不会忽略对IP的(PTR)的主机名
IPADDR=`ifconfig | awk '{print $2}' | egrep -o '([0-9]+\.){3}[0-9]+'|grep -v 127.0.0.1`
for ipaddr in ${IPADDR[@]}; do echo $ipaddr; done
for iphost in ${IPADDR[@]}; do host $iphost |grep pointer | awk '{print $NF}' RS='.\n'; done
我的剧本知道读,有AR 3 IP的,知道了IP-地址和主机名。
IP(3)的号码现在是我的001 002 003.这个运行良好。
如果我喜欢用sed编辑配置文件,我需要3变量来做到这一点。
命令anyname-001 -some -parameter在我的情况是复制到路径。现在我的道路是
的/ etc/anyname-001,在/ etc/anyname-003和/ etc/anyname-003
使用SED我还需要3个IP-地址和3主机名。
sed -i 's/IPADDR/'${ipaddr}'/g' /etc/anyname-${number}/config.cfg
sed -i 's/HOSTNAME/'${hostname}'/g' /etc/anyname-${number}/config.cfg
我怎样才能使我的循环与所有变量在同一时间。 T尝试很多事情。我发现嵌套的循环,但它不能正常工作
001 >> IP:AAAA >>主机名aaa.aaa.aa
002 >> IP:BBBB >>主机名bbb.bbb.bb
003 >> IP:中交>>主机名ccc.ccc.cc
谢谢
这是可以想象,你可能在这里有一个问题,这实际上是在话题上,但现在它已经被埋没了,并且绝对不能被任何人重现(因为运行你的代码,我们需要一个具有相同DNS配置的系统和IP地址)。如果这个问题因为重复而关闭不起作用,请尝试创建一个[Minimal,Complete,Verifiable Example](http://stackoverflow.com/help/mcve) - 别人可以运行的代码来查看您的代码问题,即使它们没有相同的IP /主机/接口配置。 –
如果你很难找出如何重写问题以便其他人可以测试他们的答案,可以考虑尝试为你的基础bash问题创建一个与主机名,IP地址等无关的测试用例 - 这里有毕竟,有很多方法可以锻炼'for'循环;这样做也可以使你的bash语言问题更加清晰,把它与你仅仅部分描述的更大的背景分开。如果你做了这样的重写,@注意我,我会扭转近似的重复。 –