⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 emulate

📁 柯老师网站上找到的
💻
字号:
#!/usr/bin/perluse strict subs, vars;use FileHandle;use English;#my $dir = "/usr/local/sbin";my $dir = "/root";   # easier to use if files go into /rootmy $nodes = 0;my $addrmap = "addrmap";my @NODES;my $user = "root";sub ReadAddrMap {    my ($fname) = @ARG;    open(F,$fname) or die "Can't open address map file '$fname'";    while (<F>) {	if (/[^\#]*(\d+)\s+([\w\.]+)\s+([0-9a-fA-F\.:]+)/) {	    $NODES[$1]->{ip} = $2;	    $NODES[$1]->{mac} = $3;	    print "$1 $2 $3\n"	}     }    close F;}while ($#ARGV >= 0) {    if ($ARGV[0] eq '-d') {	$dir = $ARGV[1];		shift; shift;    } elsif ($ARGV[0] eq '-n') {	$nodes = $ARGV[1];	shift; shift;    }  elsif ($ARGV[0] eq '-am') {	$addrmap = $ARGV[1];	shift; shift;    } elsif ($ARGV[0] eq '-u') {	$user = $ARGV[1];	shift; shift;    } else {	last;    }}if ($#ARGV != 0){    print "usage: emulate [-d <dir>] [-n nodes] [-am <addr map>] [-u <user>] <scenario>\n";    exit -1;}my $scen = $ARGV[0];my $SCEN = new FileHandle;open $SCEN,$scen or die "Can't open scenario file $scen";    if (0 == $nodes) {    while (<$SCEN>) {	if (/\# nodes: (\d+),/) {	    $nodes = $1;	    last;	}    }}if (0 == $nodes) {     die "Number of nodes not set and not found in scenario";}ReadAddrMap($addrmap);unlink("tmpdests");0 == system("calcdest -i $scen -o tmpdests") or die "calcdest on $scen failed";my $i;for ($i = 1; $i <= $nodes ; $i++) {    unlink("tmpdest$i");    print "\n Making tracefile for node $i\n";    0 == system("gentracefiles tmpdests $addrmap $i > tmpdest$i") 	or die "gentracefiles for node $i failed!";    my $host = $NODES[$i]->{ip};    if ($host eq "") {die "no ip address for node $i in $addrmap";}    print ("moving trace for $i to $host\n");    system("scp tmpdest$i $user\@$host:$dir/$scen");}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -