shell脚本获得本机ip地址

#!/bin/bash
#author:
#date:2015-6-13
#filename:ip.sh
#############################
ifconfig_cmd=`which ifconfig`
$ifconfig_cmd > ifconfig.me
###################################
function obtain_ip_information(){
 if grep -q ‘bond‘ ifconfig.me
 then
  bond_name=`cat ifconfig.me | grep bond | grep -v grep | awk ‘{print $1}‘`
  current_ip=`"${ifconfig_cmd}" "${bond_name}" | grep Bcast | awk ‘{print $2}‘ | awk -F ":" ‘{print $2}‘`
  current_netmask="255.255.255.0"
  current_gateway=`echo ${current_ip} | cut -f 1-3 -d "." | sed ‘s/$/\.254/g‘`
  echo ${current_ip}
  echo ${current_netmask}
  echo ${current_gateway}
 elif grep -q ‘eth‘ ifconfig.me
 then
  current_ip=`${ifconfig_cmd} eth0 | grep Bcast | awk ‘{print $2}‘ | awk -F ":" ‘{print $2}‘`
  current_netmask="255.255.255.0"
  current_gateway=`echo ${current_ip} | cut -f 1-3 -d "." | sed ‘s/$/\.254/g‘`
  echo ${current_ip}
  echo ${current_netmask}
  echo ${current_gateway}
 else
  echo ‘网卡非bond,非eth0,请手工检查‘
  exit 3
 fi
}

obtain_ip_information
时间: 2024-10-19 19:36:26

shell脚本获得本机ip地址的相关文章

原创作品 :使用脚本获取本机IP地址六种方法

接来下又到了老葵花哥哥开课时间了 今天讲的有些简单 可以是涂鸦之做 也可以是无聊的发呆的杰作 我想取IP地址在大家生活中很常用 今天就给大家介绍我的六种使用脚本取IP地址的方法 很多人想问我 为什么是老葵花哥哥不是老菊花 我只能说 我还是蛮娇嫩的祖国的花朵 废话不多说咱开始 第一种 第二种 第三种 接下来的方法就直接上代码了 套路还是那个城市套路 第四种 IP=`ifconfig eth0 | awk -F "[ :]+"'NR==2{print $4}'` echo "$I

shell中获取本机ip地址

方法一: /sbin/ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "addr:" or /sbin/ifconfig|sed -n '/inet addr/s/^[^:]*:\([0-9.]\{7,15\}\) .*/\1/p' 方法二: local_host="`hostname --fqdn`" local_ip=`host $local_host 2&

shell笔记:获取本机IP地址

#!/bin/bash #2.sh #编写shell脚本获取本机的网络地址. #比如:本机的ip地址是:192.168.100.2/255.255.255.0,那么它的网络地址是192.168.100.1/255.255.255.0 #注意:Bcast与前面的Ip地址之间是两个空格,所以一定要把两个空格都删掉#grep后面的搜索词加不加引号都可以,如果是一个比较长,有空格的,比如inet addr,就加引号,只有Mask可以不加#之所以搜索inet addr是因为,只搜索inet的话,还有IPv

Linux下 shell获取本机ip地址

方法二 /sbin/ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "addr:" 方法一 获取本机ip地址地址,并保存到变量中 arg=ifconfig eth0 |grep "inet addr"| cut -f 2 -d ":"|cut -f 1 -d " " ipaddr=argechoipadd 这里假设你的 接

通过域名获取IP地址和本机IP地址

#include <stdio.h> #include <stdlib.h> #include <winsock2.h> #pragma comment(lib, "ws2_32.lib") int main(int argc, char *argv[]) {     WSADATA wsaData;     WSAStartup(MAKEWORD(2, 2), &wsaData);          char webSite[80] = {

DOS命令(可查看本机IP地址各个网卡号)

网卡号指的是网卡的编号,也就是网卡的物理地址.查看方法:(以win7为例)打开开始 输入cmd 回车后进入dos命令行模式,然后输入ipconfig /all 回车查看结果找到“无线局域网适配器 无线网络连接”或者“以太网适配器 本地连接”下的“物理地址”,其后的一串数字就是网卡的物理地址.2.在DOS命令行窗口:1)输入:ipconfig/all,回车,可查看本机IP地址.MAC地址.网关.DNS等2)输入:chkdsk /r命令,回车检查修复硬盘(必要时再输入Y):3)输入:systemin

Fedora-20上ping本机IP地址时的问题

在Fedora 20上写了一个简单的ping程序,创建原始套接字后没有设置任何选项,ping其他主机(NetBSD-1.0)的时候运行正常: [[email protected] network]# ./ping 192.168.1.114 PING 192.168.1.114: send packet(icmp): 08 00 cc 95 0d 4c 00 00 a5 a5 .....L.... a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 .......... a5 a5 a5

获取本机IP地址

这里有两种方法: 1 //获取本机IP 2 - (NSString *)localIPAddress 3 { 4 NSString *localIP = nil; 5 struct ifaddrs *addrs; 6 if (getifaddrs(&addrs)==0) { 7 const struct ifaddrs *cursor = addrs; 8 while (cursor != NULL) { 9 if (cursor->ifa_addr->sa_family == AF_

关于是用dotnet获取本机IP地址+计算机名的方法

印象中在maxscript帮助文档里找到过方法,但是当时没记下来.只能通过dotnet实现了. 如果电脑有无线网卡和本地连接,可能会出现乱码,也问了写dotnet的朋友,提供了一些思路,不过最终还是使用了这个笨办法. fn getIP_PCname = ( cc = (dotnetclass "System.Net.Dns") oo = cc.GetHostAddresses(cc.GetHostName()) for ip = 1 to oo.count do ( getip = f