Linux shell脚本编程——IP地址设置

Linux shell脚本编程——IP地址设置,第1张

#!/bin/bash

################################变量定义################################

nameDevice=eth0

ipAdddress=192.168.4.110

prefix=255.255.255.0

netMask=255.255.255.0

gateway=192.168.4.1

dns1=8.8.8.8

dns2=192.168.4.0

################################函数模块################################

##设置NetworkManager服务

function SetNetworkManagerDisable(){

  systemctl stop NetworkManager &&systemctl disable NetworkManager &&echo "NetworkManager is stop and disable" &&return 0 || return 1

}

##设置NetworkManager服务

function SetNetworkEnable(){

  systemctl restart network &&systemctl enable network &&echo "network is start and enable" &&return 0 || return 1

}

##查看服务器第一个网卡名称

function FindFirstNICName(){

  ifconfig|head -n 1|cut -d \: -f 1 &&[ $? == 0 ] &&nameDevice=`ifconfig|head -n 1|cut -d \: -f 1` &&return 0 || return 1

}

##设置服务器网卡IP地址

function SetNICFile(){

  cat >/etc/sysconfig/network-scripts/ifcfg-$nameDevice <<EOF

TYPE="Ethernet"

BOOTPROTO="none"

DEFROUTE=yes

IPV4_FAILURE_FATAL=no

IPV6INIT=yes

IPV6_AUTOCONF=yes

IPV6_DEFROUTE=yes

IPV6_FAILURE_FATAL=no

NAME=$nameDevice

DEVICE=$nameDevice

ONBOOT=yes

IPADDR=$ipAdddress

PREFIX=$prefix

NETMASK=$netMask

GATEWAY=$gateway

DNS1=$dns1

DNS2=$dns2

IPV6_PEERDNS=yes

IPV6_PEERROUTES=yes

IPV6_PRIVACY=no

EOF

}

##消除变量

function UnsetVariate(){

  unset nameDevice

  unset ipAdddress

  unset prefix

  unset netMask

  unset gateway

  unset dns1

  unset dns2

}

################################程序流程################################

##设置网络服务为network

FindFirstNICName

SetNICFile

SetNetworkEnable

SetNetworkManagerDisable

UnsetVariate

在命令行模式下,获取当前主机名称: 在命令行模式下,获取IP地址: 在shell脚本中获取当前主机的主机名以及IP地址: 说明: `` 表示执行该语句,并返回执行后的结果; grep -A1 "eth0" 表示找出带有“eth0”的行,输出中除显示该行外,还显示之后的一行; awk 则是进行分割。

一、nc命令检测端口的用法

安装nc工具

yum install -y nc

# nc -v -w 10 -z 192.168.200.101 5555 (nc命令用法)

-v 显示指令执行过程。

-w <超时秒数> 设置等待连线的时间。

-u 表示使用UDP协议

-z 使用0输入/输出模式,只在扫描通信端口时使用。

批量监测IP端口存活脚本 (命名 检测.sh)

cat 检测.sh

cat ip.txt

将 检测.sh 和 ip.txt 放在同一个目录下

运行脚本


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/6152241.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-16
下一篇2023-03-16

发表评论

登录后才能评论

评论列表(0条)

    保存