QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 913|回复: 3

求脚本

[复制链接]
发表于 2006-1-5 16:01:13 | 显示全部楼层 |阅读模式
我在使用Mercury这个软件,需要把

83.82.146.62 dstorm.mine.nu


这一行加入到/etc/hosts文件里。

但是这个IP地址是会变的,当Mercury不能连接的时候,需要Ping一下dstorm.mine.nu,得到IP后再把这个IP替换/etc/hosts文件里的IP。

我想要一个脚本,只要运行了就可以Ping  dstorm.mine.nu,得到IP后写入/etc/hosts替换原来的IP。[/quote]
发表于 2006-1-6 08:52:42 | 显示全部楼层
自己试写一下。
回复

使用道具 举报

 楼主| 发表于 2006-1-6 11:25:07 | 显示全部楼层
我这方面的知识一点都没有啊。。。
回复

使用道具 举报

发表于 2006-1-6 22:49:05 | 显示全部楼层
[code:1]
#!/bin/bash

ADDRESS="dstorm.mine.nu"
[ -n $1 ] && ADDRESS=$1

#Ping ...
echo "Ping $ADDRESS..."
RET="`ping -c 1 $ADDRESS`"

[ -n "`echo $RET | grep '0 received'`" ] && echo "0 received" && exit

#Get IP...
IP="`echo $RET | grep 'PING' | awk '{print $3}' | cut -d '(' -f 2 | cut -d ')' -f 1`"
[ -z $IP ] && echo "Get Nothing..." && exit

#Replace...
echo "$IP   $ADDRESS"
if [ -n "`grep \"$ADDRESS$\" /etc/hosts`" ]; then
    sed -i "s/.*$ADDRESS$/$IP   $ADDRESS/g" /etc/hosts
else
    echo "$IP   $ADDRESS">>/etc/hosts
fi
[/code:1]

脚本的第一个参数可以是要获取ip的域名
通过从ping回的数据中提取出ip地址,然后在/etc/hosts中替换。

写得很乱,有些地方也很繁琐。
就当是抛砖引玉,
如果谁有好的代码,不妨贴出来。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-7-3 10:36 , Processed in 0.059068 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表