写一个交互脚本,实现能够定义主机名及IP地址

写一个交互脚本,实现能够定义主机名及IP地址

脚本内容

[[email protected] scripts]# cat xiugaizhuji.sh
#!/bin/bash
#############################################################
# File Name: jiaohu.sh
# Version: V1.0
# Author: clsn
# Organization: http://blog.znix.top
# Created Time : 2017-12-05 10:55:42
# Description:
#############################################################

ethFile=/etc/sysconfig/network-scripts/ifcfg-eth[01]
Now_eth=`hostname -I|awk -F "[. ]+" ‘{print $4}‘`

read -p "请输入主机名:" Hostname
read -p "请输入IP地址的主机位:" HostIP

hostnamectl set-hostname  $Hostname

sed  -i "s#${Now_eth}#${HostIP}#g" $ethFile 

read -p "是否重启服务器:{yes/no}"  REboot

if [ $REboot == yes ]
then
   echo "系统将在10秒后重启!"
   shutdown -r  10
else
   echo "请稍后手动重启系统!"
fi

脚本测试结果

[[email protected] scripts]# sh xiugaizhuji.sh
请输入主机名:clsn
请输入IP地址的主机位:180
是否重启服务器:{yes/no}yes
系统将在10秒后重启!
[[email protected] scripts]# sh xiugaizhuji.sh
请输入主机名:clsn
请输入IP地址的主机位:180
是否重启服务器:{yes/no}no
请稍后手动重启!

原文地址:https://www.cnblogs.com/zhangjiaqing/p/11097587.html

时间: 2024-08-24 12:23:49

写一个交互脚本,实现能够定义主机名及IP地址的相关文章

java 获取局域网中的所有主机名和IP地址

DOS命令 命令 意义 net view 获取局域网中的所有主机名 ipconfig -all 获取本地IP,主机名,MAC地址 arp -a 获取本局域网中的所有IP地址和物理地址 ping -a x.x.x.x 获取x.x.x.x的主机名 nbtstat -a 主机名 获取MAC地址 java exec 执行外部命令 String command = "net view" Runtime r = Runtime.getRuntime(); Process p = r.exec(co

gethostbyname() -- 用域名或主机名获取IP地址

#include <netdb.h> #include <sys/socket.h> #include <unistd.h> #include <sys/types.h> #include <netdb.h> #include <netinet/in.h> #include <stdlib.h> #include <netinet/in.h> #include <arpa/inet.h> #incl

Linux 0-1 修改主机名及IP地址

1.修改主机名   hostname 查看主机名 vi /etc/sysconfig/network 修改hostname=主机名 vi /etc/hosts 修改127.0.1 主机名 service network restart    #/etc/hosts 在域名解析时优先于DNS服务器 2.IP地址 ifconfig 查看目前网络卡信息 cd /etc/sysconfig/network-scripts ls查看网络设备 vi ifcfg-eth0   #设定静态IP DEVICE="

Linux CentOS7.0 (02)修改主机名和ip地址

在CentOS中,有三种定义的主机名:静态的(static),瞬态的(transient),和灵活的(pretty). "静态"主机名也称为内核主机名,是系统在启动时从/etc/hostname自动初始化的主机名. "瞬态"主机名是在系统运行时临时分配的主机名,例如,通过DHCP或mDNS服务器分配.静态主机名和瞬态主机名都遵从作为互联网域名同样的字符限制规则. "灵活"主机名则允许使用自由形式(包括特殊/空白字符)的主机名,以展示给终端用户(如

Powershell-查询主机名及IP地址

Dos查询IP地址及主机名信息: 1.ipconfig | find "IPv4" 2.hostname 3.systeminfo |find "主机名:" 默认很多人总是习惯用DOS命令查询,其实Powershell实现起来也是很简单的.如下: Powershell查询IP地址及主机名信息: 1.foreach($ipv4 in (ipconfig) -like '*IPv4*') { ($ipv4 -split ' : ')[-1]} 2.Get-WMIObje

Asp.net MVC获取访问系统的客户端计算机的主机名和IP地址

string HostName = string.Empty; string ip = string.Empty; string ipv4 = String.Empty; if (!string.IsNullOrEmpty(System.Web.HttpContext.Current.Request.ServerVariables["HTTP_VIA"])) ip = Convert.ToString(System.Web.HttpContext.Current.Request.Ser

获取本地设备的主机名和ip地址

Python的socket模块提供了类的方法和实例方法,二者区别在于使用类方法时不需要创建套接字对象实例.比如,以下例子利用此模块获取主机名和ip地址. 源代码如下 #!/usr/bin/env python #python network programming cookbook --chapter -1 #This program is optimized for python 2.7 .It may run on any #other python version with/without

shell_script_查询主机名、ip地址 、DNS地址

#!/bin/bashhostnameip=`/sbin/ifconfig eth0|grep "inet addr:"|sed 's/Bcast.*$//'g |awk -F ":" {'print $2'}`dns=`cat /etc/resolv.conf |grep -v '#'|sed 's/nameserver//'`for i in $ipdo echo "$i"donefor a in $dnsdo echo "$a&q

Linux系统的rm命令太危险,一不小心就会删除系统文件。写一个shell脚本来替换系统的rm命令,

Linux系统的rm命令太危险,一不小心就会删除系统文件.写一个shell脚本来替换系统的rm命令,要求当删除一个文件或者目录时都要做一个备份,然后再删除. 假设有一个大的分区/data/,每次删除文件或者目录前,都要在/data/下面创建一个隐藏目录,以日期/时间命名,比如/data/.201802021054,然后把所有删除的文件同步到该目录下面,可以使用rsync -R把文件路径一同同步 答案: #!/bin/bash d=`date +%Y%m%d%H%M` read -p "Are y