我正在尝试创建一个shell脚本,该脚本需要在创建的新VPS引导时运行。将使用预先安装在CentOS 7 64位模板上的cPanel / WHM Panel创建新的VPS。 Shell脚本需要更改VPS的IP地址,并在创建时将新IP地址分配给VPS,然后重新启动cpanel服务。
#!/bin/bash
echo -e "\e[1;36;40m Modifying parameters in cpanel shared IP configuration \e[0m"
ipchange="$(ip addr show | grep 'venet0:0' | awk '{ print $2}')"
echo "$ipchange"
sed -i -e 's/"ADDR 127.0.0.1$"/"ADDR $ipchange"/g' /etc/wwwacct.conf
echo -e "\e[1;36;40m Restarting cPanel \e[0m"
systemctl restart cpanel.service > /dev/null 2>&1
echo -e "\e[1;36;40m Restart cpanel completed \e[0m"
我需要知道如何插入以下命令的部分输出
ip addr show | grep 'venet0:1' | awk '{ print $2}'
示例输出
bbb.bbb.bbb.bbb/32
仅需复制bbb.bbb.bbb.bbb
并通过删除现有文件插入/etc/wwwacct.conf
文件中
ADDR 127.0.0.1
使用新IP
ADDR bbb.bbb.bbb.bbb
保存现有文件并重新启动cpanel服务。
答案 0 :(得分:1)
对于IP更改,您可以使用cut:
ip addr show | grep 'venet0:1' | awk '{ print $2}' | cut -d'/' -f1
并且您的sed应该使用双引号使外壳扩展$ ipchange变量:
sed -i -e "s/ADDR 127.0.0.1/ADDR $ipchange/g" /etc/wwwacct.conf