编写shell脚本获取本机的网络地址?

作者&投稿:丛馨 (若有异议请与网页底部的电邮联系)
linux写shell脚本怎么截取本机的网段~

# ifconfig |awk -F"[: ]+" '/inet addr/{print $4}'
127.0.0.1
192.168.1.3
如果有很多网卡就会获取多个
如果获取1个网卡:
# ifconfig p2p1|awk -F"[: ]+" '/inet addr/{print $4}'
192.168.1.3

我也给一个我的答案,供大家参考
利用ifconfig这个命令就可以显示所有网络相关的基本信息
当然在此基础之上做一些文本处理,就可以直接输出想要
的IP和MAC信息,代码如下


问题有问题,本机的ip地址是:192.168.100.2/255.255.255.0,网络地址应该是192.168.100.0/255.255.255.0。默认的网关地址才是192.168.100.1/255.255.255.0。
一个超笨的办法:
在脚本里写入:
netid=`ifconfig eth0 | grep "inet addr" | cut -d ":" -f 2 | cut -d " " -f 1 | cut -d "." -f 1-3`
echo $netid.0
就可以显示一个IP地址了,这个IP地址就是你本机所在网络的网络地址。当然,这是以掩码是24位且你的网卡是eth0为前提的。注意第二个cut -d 后面的引号里面有空格。

hostname -i显示本机ip地址
再去查看/etc/sysconfig/network-script/下面的ifcfg文件
找到NETMASK
或者用这条命令
cat /etc/sysconfig/network-scripts/ifcfg-eth0 |grep ^NETMASK|cut -d = -f 2
直接获取mask掩码
然后编写shell脚本
#!/bin/bash
hostname -i
cat /etc/sysconfig/network-scripts/ifcfg-eth0 |grep ^NETMASK|cut -d = -f 2
希望对你有帮助

给一个你
[root@dns4 ~]# vim ip.sh
ip=$(ifconfig | grep "inet addr" | grep -v 127.0.0.1 | awk '{print $2}' | awk -F ':' '{print $2}')
echo "本机IP地址是:$ip"
[root@dns4 ~]# ./ip.sh
本机IP地址是:192.168.1.123

#! /bin/bash
read -p "请输入指定网卡名称/ALL是所有:" a
if [ $a==ALL] ; then
ifconfig |grep "inet addr:"|awk -F : '{print $2}'|awk '{print $1}'
else
ifconfig $a |grep "inet addr:"|awk -F : '{print $2}'|awk '{print $1}'
fi

我只会笨办法
ifconfig lo | sed -n -r 's/.*inet (([0-9]{1,3}\.?){4}).*netmask (([0-9]{1,3}\.?){4}).*/\1\/\3/p'


linux shell脚本中如何获取文件的绝对路径?readlink可以么?
传给函数的路径是\/root\/file,如果这是函数的第一个参数,那么函数中可以用 $1 获取。得到文件名file1和file2后,echo "$1\/file1" 就输出\/root\/file\/file1,echo "$1\/file2" 输出\/root\/file\/file2。

如何在脚本中获取进程ID
我想要知道运行中脚本子shell的进程id。我该如何在shell脚本中得到PID。当我在执行shell脚本时,它会启动一个叫子shell的进程。作为主shell的子进程,子shell将shell脚本中的命令作为批处理运行(因此称为“批处理进程”)。在某些情况下,你也许想要知道运行中的子shell的PID。这个PID信息可以在不同的...

在写shell脚本,如何使用awk获取一行数字里的第6,12,18列。。等6的倍 ...
在写shell脚本,如何使用awk获取一行数字里的第6,12,18列。。等6的倍数的列的值。 wk'{print$6}'是取第6列的值,那么怎么能让他循环遍历取6的倍数的列的值。... wk '{print $6}'是取第6列的值,那么怎么能让他循环遍历取6的倍数的列的值。 展开  我来答 ...

linux中设计一个shell脚本程序可以接受命令行输入的参数执行相应的菜单...
之所以用到命令行参数,关键在于shell脚本需要与运行脚本的人员进行交互。bash shell提供了命令行参数添加在命令后面的数据值)、命令行选项修改命令行为的单字符值)和直接读取键盘输入。1、命令行参数 向shell脚本传递数据的最基本方式是使用命令行参数。1)读取参数 读取输入的参数的变量为位置参数,位置...

写手机用的shell脚本
3.演示一下效果(记得shell存放在和应用同级别的目录):原有6个应用、执行一次就保留3个应用;并会生成中间文件allapp.txt和delapp.txt [gis@localhost app]$ ls 1app 2app 3app 4app 5app 6app except.txt uninstall.sh [gis@localhost app]$ .\/uninstall.sh [gis@localhost app]$...

Linux中执行shell脚本的4种方法总结
方法二:以绝对路径的方式去执行bash shell脚本: \/data\/shell\/hello.sh 方法三:直接使用bash 或sh 来执行bash shell脚本: cd \/data\/shell bash hello.sh 或者 cd \/data\/shell sh hello.sh 注意,若是以方法三的方式来执行,那么,可以不必事先设定shell的执行权限,甚至都不用写shell文件中的第...

Linux shell脚本有一条sudo语句,如何在脚本里获得本人的密码,从而得 ...
首先,你的侧重点有问题,sudo权限配置好之后,你可以直接使用root权限,需要写脚本获取root权限 一般有两种情况,1、使用sudo需要输入密码,2、使用sudo不需要密码 所以,你只需要配置sudo,你自己的账户使用root权限时,不需要验证密码即可 visudo 命令直接进入sudo配置文件中,具体配置格式,文件中的注释很...

shell脚本主要有哪些
采纳数:117675 获赞数:513476 长期从事计算机组装,维护,网络组建及管理。对计算机硬件、操作系统安装、典型网络设备具有详细认知。 向TA提问 私信TA 关注 展开全部 第一个shell脚本程序: #!\/bin\/bash# 上面中的 #! 是一种约定标记, 它可以告诉系统这个脚本需要什么样的解释器来执行;echo "Hello, world!" 变...

编写一个shell脚本程序
一句就行,如果非要写脚本,可以把这一句话放到里面 awk '{print $0, $3+$4+$5}' bjcj.txt |sort -nr -k 6 |head -5awk计算总成绩,并放置原数据后面一列并显示,sort是按照总成绩(第六列)从大到小的数值进行排序,head筛选出前五行数据 ...

想请人帮忙写个shell脚本查找指定目录下最近修改文件,获取文件名,并导 ...
你这最近修改有点模糊啊 使用find 命令查询最近修改的就好了 Mysql 我还不是很会,不过万能百度命令如下,如果你的mysql里面没有数据库,先新建一个空的数据库abc, 然后用mysqldump -u 用户名 -p 密码 -B abc< a.sql 这个命令 就能把a.sql导入到数据库abc里了 如果还有不明白的私信我就好,看到...

石景山区13856432246: shell 脚本获得当前 ip地址 -
法侨天麻: bin=$(ifconfig | awk -F'addr:|Bcast' '/Bcast/{print $2}')

石景山区13856432246: shell编程如何取得本机IP地址并存入一个变量中 -
法侨天麻: [root@localhost init]# ifconfig eth0eth0 Link encap:Ethernet HWaddr 00:0C:29:8F:1E:A4inet addr:192.168.12.128 Bcast:192.168.12.255 Mask:255.255.255.0 inet6 addr: fe80::20c:29ff:fe8f:1ea4/64 Scope:Link UP BROADCAST RUNNING ...

石景山区13856432246: shell获取本机ip并将本机ip改为static -
法侨天麻: ifconfig eth0 | grep "inet addr" | awk '{print $2}' | awk -F: '{print $2}'上面是获取eth0的IP地址

石景山区13856432246: 如何能获取网卡地址 shell -
法侨天麻: #! /bin/bashread -p “请输入指定网卡名称/ALL是所有:” aif [ $a==ALL] ; thenifconfig |grep “inet addr:”|awk -F : '{print $2}'|awk '{print $1}'elseifconfig $a |grep “inet addr:”|awk -F : '{print $2}'|awk '{print $1}'fi

石景山区13856432246: 想写个shell脚本来自动配置ip,子网掩码和网关 -
法侨天麻: 测试了下还可以,没有写条件判断,根据情况自己再修改下123456789101112131415 #!/bin/bash hwaddr=`ifconfig|grepHWaddr |awk'{print $5}'` echo"DEVICE=$1 HWADDR=$hwaddr TYPE=Ethernet ONBOOT=yes NM_CONTROLLED=yes BOOTPROTO=static IPADDR=$2 NETMASK=$3 GATEWAY=$4" > /etc/sysconfig/network-scripts/ifcfg-$1 /etc/init.d/networkrestart

石景山区13856432246: 请教一个检测网络状态的shell脚本 -
法侨天麻: 检测是否通畅?pingtime=`ping -c 1 192.168.1.222 |grep "100% packet loss|wc -l"` if [ $pingtime -eq 1 ];then echo "网络不通" fi

石景山区13856432246: 编写shell程序,实现从它参数中获取配置网络的参数,用获取的参数进行网络配置,使网络能正常使用 -
法侨天麻: 嗯这个脚本工作中有时候可以用到的.首先执行脚本的时候可以传递参数$1 $2 $3 这三个参数你可以分别代表ip netmask gateway这三项的地址如果脚本写好了就这样执行(例如 sh add_ip.sh 192.168.0.100 255.255.255.0 192.168.0.1)vim /etc/...

石景山区13856432246: 如何用bat或VBS脚本获取“本地连接”的IP地址? -
法侨天麻: 如果是要找前面的只要加个goto (下一行设的标签)就行了 @echo off for /f "tokens=15" %%i in ('ipconfig ^| find /i "ip address"') do set ip=%%i&goto next :next echo %ip% pause

石景山区13856432246: 在LINUX系统下,如何使用SHell脚本,SSH登陆上路由器 -
法侨天麻: 1.登陆linux系统,打开终端命令.输入 rpm -qa |grep ssh 查找当前系统是否已经安装2.如果没有安装SSH软件包,可以通过yum 或rpm安装包进行安装3、安装好了之后,就开启ssh服务.Ssh服务一般叫做 SSHD4、命令行输入 service sshd start ...

石景山区13856432246: 求助一个linux下shell脚本判断无线网络状况的问题,先行谢谢~ -
法侨天麻: 简单讲下思路吧,判断是否断网,一般可以通过ping网关.如果不通则执行重启网络服务功能.我简单写了个bash,不知道debian的是ksh还是csh,所以仅供参考.--------------#!/bin/sh#假设1.254是网关 host=192.168.1.254 ping -c2 $host >>/dev/...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网