#!/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

linux批量配置文件,linux下根据用户输入批量修改配置文件ip相关推荐

  1. linux 授信_LINUX下的用户访问授权

    本文转载于:转载文章 LINUX下的用户访问授权--作者:skyzipLINUX下的用户访问授权 --------------------------------------------------- ...

  2. linux设置user1的密码为,linux下passwd用户设置与修改密码

    出于系统安全考虑,Linux系统中的每一个用户除了有其用户名外,还有其对应的用户口令.因此使用useradd命令增加时,还需使用passwd命令为每一位新增加的用户设置口令:用户以后还可以随时用pas ...

  3. linux python版本_linux下更新Python版本并修改默认版本

    linux下更新Python版本并修改默认版本,有需要的朋友可以参考下. 很多情况下拿到的服务器python版本很低,需要自己动手更改默认python版本 1.从官网下载python安装包(这个版本可 ...

  4. 从配置文件(*.config)读到内存中,手动修改配置文件后,内存中数据改变问题.

    某些情况,我们把数据信息存储在*.xml或*.config文件中,存储在*.config中会比较安全,发布的程序,浏览器不会打开*.config文件,但是*.xml会在浏览器中呈现. 使用.confi ...

  5. linux获取指定字符,shell 获取用户输入指定范围的单个字符的两种方法

    需求:要求获取用户输一个字符a-zA-Z: 方法一: 复制代码 代码如下: echo `echo {a..z}``echo {A..Z}` > /tmp/letterfile while rea ...

  6. idl 7.1 64 linux,ubuntu 16.04下IDL7.1输入idlde闪退问题

    IDL7.1是32位的版本,由于64位系统缺失一些32位的库文件,所以IDL会闪退. 首先安装一些库文件: sudo dpkg --add-architecture i386 sudo apt-get ...

  7. hive分隔符_HIVE-默认分隔符的(linux系统的特殊字符)查看,输入和修改

    这段时间做hive的时候,用到了系统默认分隔符.通常下面2中情况我们需要需要用到分隔符 1,制作table的输入文件,有时候我们需要输入一些特殊的分隔符 2,把hive表格导出到本地时,系统默认的分隔 ...

  8. shell实例第9讲:判断用户输入的是否为IP地址

    #!/bin/bash #作者:魏波 #时间:2017.02.04function check_ip(){IP=$1VALID_CHECK=$(echo $IP|awk -F. '$1<=255 ...

  9. Linux Shell 读取用户输入

    在Linux Shell下读取用户输入可以使用read命令. 用法: echo "Input something:" read input echo "Your inpu ...

  10. 实践平台linux,关于构造Linux系统实践平台的设想

    摘 要 当前虽然有很多高校将Linux课程作为本科学生的必修课,但是在高校中专业的Linux实验室却并未普及.在不增加机房管理员工作量以及学生可以充分体验Linux系统性能的前提下,本文提出了一种利用 ...

最新文章

  1. html5拖动图像的关键字,6.7 拖放图像 - HTML5 Canvas 实战
  2. [图论]强联通分量+缩点 Summer Holiday
  3. 浏览器的一个请求从发送到返回都经历了什么?
  4. 使用remi安装php70,Linux下使用yum安装LNMP环境
  5. 将 SharePoint 2010 网站集升级到 2013 (含沙盒方案)
  6. Altera FPGA程序固化
  7. VirtualBox安装虚拟机后分辨率调不对怎么办
  8. 手机可以python编程吗_如何在安卓手机上编程Python代码并运行-百度经验
  9. 《Python游戏编程入门》第二章编程挑战
  10. linux下安装yum命令
  11. Moodle安装指导手册
  12. SPFA算法(最短路径算法)
  13. U813.0 - 登录系统管理提示“缺少根元素”
  14. 屏幕录像专家录制视频时不能全屏
  15. 点亮了中行U盾12864屏线 12液晶,附12864详细手册
  16. harmonyos蓝牙,鸿蒙OS 蓝牙概述
  17. Itext生成pdf文件,itext+Freemarker生成pdf,(中文空白解决)
  18. linux内核启动过程和启动第一个应用程序
  19. 在线视频转音频怎么弄?这几个软件建议你们收藏
  20. 优秀程序员必懂知识点,你要是还不会就out了

热门文章

  1. 局部线性嵌入(LLE,Locally Linear Embedding)
  2. django开发_七牛云图片管理
  3. 【前端面试】变量和类型计算
  4. Java数据结构——二叉树
  5. MySQL存储引擎InnoDB、MyISAM 、其它存储引擎介绍
  6. redhat5下安装informix
  7. 网管日志-06.07.13
  8. Python学习-第3课(函数作用域、列表集合字典元祖)
  9. window.open('') 火狐,IE事件冒泡处理,点击事件冒泡处理
  10. select下拉列表