Linux修改主机名脚本-不重启-支持RedHat、SUSE
需要用脚本修改主机名,涉及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的更多相关文章
- linux修改主机名的方法
linux修改主机名的方法 用hostname命令可以临时修改机器名,但机器重新启动之后就会恢复原来的值. #hostname //查看机器名#hostname -i //查看本机器名对应的ip ...
- linux修改主机名(hostname)转载
Linux修改主机名的方法 用hostname命令可以临时修改机器名,但机器重新启动之后就会恢复原来的值. #hostname //查看机器名#hostname -i //查看本机器名对应的ip ...
- Linux修改主机名!(图文)
本篇作为之前的补充篇,如果想修改自己的主机名,方便老师检查作业是否是自己做的,可以用修改主机名的方法,那么怎么修改呢? 一. 使用hostname命令 比如我现在的主机名是haozhikuan-hbz ...
- CentOS Linux 修改主机名
一.CentOS5 修改主机名 二.CentOS6 修改主机名 三.CentOS7 修改主机名 静态的(Static hostname) "静态"主机名也称为内核主机 ...
- linux修改主机名
查看机器名:uname -a 修改机器名: redhat中修改主机名 第一步:#hostname oratest 第二步:修改/etc/sysconfig/network中的hostname 第三步: ...
- Linux修改主机名方法
[root@lyx ~]# vim /etc/hosts vim代表修改,进入hosts文件进行添加192.168.10.128 hadoop128 [root@lyx ~]# hostname ...
- Redhat Linux 修改主机名(HOSTNAME)
hostname #查看当前主机的主机名hostname NEWHOSTNAME #临时修改当前主机名 修改主机名vi /etc/sysconfig/network #通过配置文件修改主机名NETWO ...
- Linux 修改主机名 和 ip 映射关系
1. 修改主机名 vim /etc/sysconfig/network NETWORKING=yes HOSTNAME=hadoop 2. 修改主机名和IP的映射关系 vim /etc/hosts 1 ...
- linux修改主机名+免密认证+关闭防火墙
在很多软件安装的时候都有这些需求,因此在这里一起讲一下 修改主机名 简单的使用 hostnamectl 命令就好了 hostnamectl set-hostname NAME 免密认证 准备工作,修改 ...
随机推荐
- sql server 删除大量数据的一次坑爹之旅
数据库有1kw数据不在使用了,影响读写速度,于是要删除掉 使用delete语句 意外发生,持续了半个小时后,依然不见结束的迹象 于是强行结束(停止了服务) 再打开服务后,数据库显示 [正在恢复] 百度 ...
- Django-基础之web框架
http协议 HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送 ...
- HashSet源码阅读
HashSet的实现基于HashMap 看几个简单的初始化方法 public HashSet() { map = new HashMap<>(); } public HashSet(Col ...
- Python => ValueError: unsupported format character 'Y' (0x59)
产生问题的原因是:SQL语句的'%Y-%m-%d'部分被再次解释为字符串格式,并抛出错误 解决方案一:字符串%形式进行替换 '%string' % string. '%Y-%m-%d'改写为'%%%% ...
- git客户端安装后,访问不到gitsever解决办法
1,运行 git Bash 客户端 $ cd ~/.ssh 如果没有此目录则创建一个 $ mkdir ~/.ssh 2,在.ssh目录下 $ ssh-keygen -t rsa -C "你的 ...
- Machine Learning - week 1
Matrix 定义及基本运算 Transposing To "transpose" a matrix, swap the rows and columns. We put a &q ...
- 认识Sass和Compass
第一章 Sass和Compass让样式表重焕青春 // 内容概要// 开始学习Sass和动态样式表// 用Sass更高效地写样式表// Compass简介// 用Compass迎接工程实践中的样式挑战 ...
- 2017"百度之星"程序设计大赛 - 复赛1005&&HDU 6148 Valley Numer【数位dp】
Valley Numer Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Tota ...
- 51Nod 1080 两个数的平方和(数论,经典题)
1080 两个数的平方和 基准时间限制:1 秒 空间限制:131072 KB 分值: 5 难度:1级算法题 给出一个整数N,将N表示为2个整数i j的平方和(i <= j),如果 ...
- [51nod1462]树据结构
题面: 给一颗以1为根的树. 每个点有两个权值:vi, ti,一开始全部是零. Q次操作: 读入o, u, d o = 1 对u到根上所有点的vi += d o = 2 对u到根上所有点的ti += ...