生成一个文件。感觉好难实现。请高手帮助。help... ...!

sh/bash/dash/ksh/zsh等Shell脚本
回复
userzhiyuan
帖子: 42
注册时间: 2009-04-11 13:04

生成一个文件。感觉好难实现。请高手帮助。help... ...!

#1

帖子 userzhiyuan » 2009-09-04 12:20

哪位大侠,帮助实现一下(如下)
想生成一个文件,按照这个规律ip生成到100.100.100.254,mac 地址也要不同。host ns1 , host ns2 , host ns3.这个也要按照这个规律来生成。

请大家帮助。

host ns {
hardware ethernet 0E:19:16:65:6A:6F;
fixed-address 100.100.100.1;
}

host ns1 {
hardware ethernet 11:19:16:65:6A:6F;
fixed-address 100.100.100.2;
}

host ns2 {
hardware ethernet 00:19:16:65:6A:6A;
fixed-address 100.100.100.3;
}
头像
O_O_BOT
帖子: 2461
注册时间: 2009-05-20 19:32

Re: 生成一个文件。感觉好难实现。请高手帮助。help... ...!

#2

帖子 O_O_BOT » 2009-09-04 15:59

mac 不同 怎么不同法??
irc 聊天室
ubuntu-cn 的irc 频道为
irc.ubuntu.com 8001 #ubuntu-cn
UTF8编码 可用 irssi xchat pidgin weechat 登录

http://webchat.freenode.net/?channels=ubuntu-cn
[url]irc://irc.freenode.net/ubuntu-cn[/url]
头像
O_O_BOT
帖子: 2461
注册时间: 2009-05-20 19:32

Re: 生成一个文件。感觉好难实现。请高手帮助。help... ...!

#3

帖子 O_O_BOT » 2009-09-04 16:36

代码: 全选

for i in $(seq 0 254);do
    MAC=$(echo "obase=16;($RANDOM+100)*14567891234567" |\
    bc | sed 's/\(.\{12\}\).*/\1/' | sed 's/\(..\)/\1:/g;s/:$//')
    cat <<EOF
host ns$i {
    hardware ethernet $MAC;
    fixed-address 100.100.100.$((i+1));
}    
EOF
done
irc 聊天室
ubuntu-cn 的irc 频道为
irc.ubuntu.com 8001 #ubuntu-cn
UTF8编码 可用 irssi xchat pidgin weechat 登录

http://webchat.freenode.net/?channels=ubuntu-cn
[url]irc://irc.freenode.net/ubuntu-cn[/url]
回复