linux里面如何大批量修改配置文件,linux下根据用户输入批量修改配置文件ip

#!/bin/bash

export LANG="zh_CN"

# 判断输入ip格式

judge_ip()

{

if [ -z $1 ]

then

echo -ne "\e[40;31;1m 不能为空,请重新输入:  \e[0m"

read ip

judge_ip "$ip"

else

if [[ "$1" =~ '^[1-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$' ]]

then

echo

else

echo -ne "\e[40;31;1m  输入的ip不合法,请重新输入:\e[0m"

read ip

judge_ip "$ip"

fi

fi

}

# 判断确认输入

judge_echo ()

{

case $1 in

y|Y)

echo

;;

n|N)

echo -ne "\e[40;31;1m 请重新输入IP: \e[0m"

read ip

judge_ip "$ip"

echo -ne "\e[40;33;1m 确认输入无误[y/n]: \e[0m"

read yes

judge_echo "$yes"

;;

*)

echo

echo -ne "\e[40;31;1m 请重新输入y或者n: \e[0m"

read yes

judge_echo "$yes"

;;

esac

}

# 读入各个IP

Ip_Value=()

IP_READ()

{

echo -e "\e[40;36;1m  ==========请输入$1IP==========  \e[0m"

read ip

judge_ip "$ip"

echo "$1IP):  $ip"

echo -ne "\e[40;33;1m 确认输入无误[y/n]: \e[0m"

read yes

judge_echo "$yes"

Ip_Value[$i]=$ip

unset ip

}

# 声明各个需要修改的IP

Ip_List=('数据库服务器')

i=0

# 要修改ip的个数

Ip_Nu=${#Ip_List[@]}

# 给各个IP赋具体值

while [ $i -lt $Ip_Nu ]

do

if [ $i -eq 0 ]

then

IP_READ "${Ip_List[$i]}"

else

if [[ "${Ip_List[$i]}" = "${Ip_List[$i-1]}" ]]

then

Ip_Value[$i]=${Ip_Value[$i-1]}

else

IP_READ "${Ip_List[$i]}"

fi

fi

let i++

done

#oldIP 获得修改的老IP

ip1=`cat /home/jboss/server/default/deploy/vmas.war/WEB-INF/classes/applicationContext-service.xml|egrep -o '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}'|sed -n 1p`

# 获得老Ip的各个变量

Ip=(`awk '/^#oldIP/,/^$/ {if ($1!~"^#|^$" ) print $0} ' $0  |awk -F"=" '{print $1}'`)

Ip_Path=(`awk '/^#oldIP/,/^$/ {if ($1!~"^#|^$" ) print $0} ' $0 |awk -F"=" '{print $2}' |awk '{print $2}' |awk -F"|" '{print $1}'`)

#修改ip函数

Modify_Ip()

{

eval old_ip="$"$1

if [ -z  "$old_ip" ]

then

echo -e "\e[40;35;1m  IP取值为空,不能修改,请检查 \e[0m"

else

sed -i "s/$old_ip/$2/"  $3

fi

}

j=0

while [ "$j" -lt "${#Ip[@]}" ]

do

Modify_Ip "${Ip[$j]}"  "${Ip_Value[$j]}" "${Ip_Path[$j]}"

let j++

done

本文出自 “小强” 博客,转载请与作者联系!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值