Shell脚本中获取本机ip地址的三个方法

这篇文章主要介绍了Shell脚本中获取本机ip地址的三个方法,下面直接给出实现代码。

方法一:

/sbin/ifconfig -a | grep inet | grep -v 127.0.0.1 | grep -v inet6 | awk '{print $2}' | tr -d "addrs"

/sbin/ifconfig | sed -n '/inet addr/s/^[^:]*:\([0-9.]\{7,15\}\).*/\1/p' | grep -v 127.0.0.1



方法二:

local_host="`hostname --fqdn`"
local_ip=`host $local_host 2>/dev/null | awk '{print $NF}'`


 

方法三:

nslookup -sil $local_host 2>/dev/null | grep Address: | grep -v "127.0.0.1" | awk '{print $2}' | awk -F '#' '{print $1}'


        PS:nslookup是一个监测网络中DNS服务器是否能正确实现域名解析的命令行工具。

 

附:一条命令杀掉一个进程

查看项目的进程号:
ps -efww | grep 项目名 | grep -v grep | grep -v less | awk '{print $2}'

kill项目:
kill `ps -efww | grep 项目名 | grep -v grep | grep -v less | awk '{print $2}'`

 

参考文章:http://www.jb51.net/article/56585.htm

  • 3
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用一个包含多个主机IP地址的文本文件,然后在shell脚本使用循环来遍历每个IP地址并进行ping测试和判断。具体实现步骤如下: 1. 创建一个文本文件,例如ip_list.txt,其包含多个主机IP地址,每行一个: ``` 192.168.1.1 192.168.1.2 192.168.1.3 ``` 这里以三个IP地址为例。 2. 创建一个shell脚本,例如ping_test.sh,用于执行ping测试和判断: ``` #!/bin/bash while read ip do ping -c 5 $ip > result.txt packet_loss=$(grep -oP '\d+(?=% packet loss)' result.txt) if [ $packet_loss -eq 0 ] then echo "$ip: 目标主机通" else echo "$ip: 目标主机不通" fi done < ip_list.txt ``` 这里使用while循环来遍历ip_list.txt文件的每个IP地址,并执行ping测试和判断。在循环,首先使用ping命令进行测试,并将测试结果保存到result.txt文件。然后,使用grep命令提取packet loss信息,并将其存储到变量packet_loss。最后,根据packet_loss判断目标主机是否通,并输出结果。 3. 在本地机器上使用ssh命令连接到远程主机,并执行ping_test.sh脚本: ``` ssh user@remote_host 'bash -s' < ping_test.sh ``` 这里需要将user和remote_host替换为实际的用户名和远程主机IP地址。 完整的脚本如下所示: ``` #!/bin/bash while read ip do ping -c 5 $ip > result.txt packet_loss=$(grep -oP '\d+(?=% packet loss)' result.txt) if [ $packet_loss -eq 0 ] then echo "$ip: 目标主机通" else echo "$ip: 目标主机不通" fi done < ip_list.txt ``` 需要注意的是,这里需要确保本地机器可以通过ssh连接到远程主机,并且在远程主机上安装了必要的软件和依赖库(例如grep命令)。同时,也需要根据具体情况进行修改和调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值