📄 fixprogs
字号:
#!/usr/bin/perl## fixprogs - run through the list of entropy commands and# score out the losers#$entscale = 50; # divisor for optional entropy measurementsub usage { return("Usage: $0 <command file>\n");}if (($#ARGV == -1) || ($#ARGV>1)) { die(&usage);}# 'undocumented' option - run ent (in second param) on the outputif ($#ARGV==1) { $entcmd=$ARGV[1]} else { $entcmd = ""};$infilename = $ARGV[0];if (!open(IN, "<".$infilename)) { die("Couldn't open input file");}$outfilename=$infilename.".out";if (!open(OUT, ">$outfilename")) { die("Couldn't open output file $outfilename");}@infile=<IN>;select(OUT); $|=1; select(STDOUT);foreach (@infile) { if (/^\s*\#/ || /^\s*$/) { print OUT; next; } ($cmd, $path, $est) = /^\"([^\"]+)\"\s+([\w\/_-]+)\s+([\d\.\-]+)/o; @args = split(/ /, $cmd); if (! ($pid = fork())) { # child close STDIN; close STDOUT; close STDERR; open (STDIN, "</dev/null"); open (STDOUT, ">/dev/null"); open (STDERR, ">/dev/null"); exec $path @args; exit 1; # shouldn't be here } # parent waitpid ($pid, 0); $ret=$? >> 8; if ($ret != 0) { $path = "undef"; } else { if ($entcmd ne "") { # now try to run ent on the command $mostargs=join(" ", splice(@args,1)); print "Evaluating '$path $mostargs'\n"; @ent = qx{$path $mostargs | $entcmd -b -t}; @ent = grep(/^1,/, @ent); ($null, $null, $rate) = split(/,/, $ent[0]); $est = $rate / $entscale; # scale the estimate back } } print OUT "\"$cmd\" $path $est\n";}close(IN);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -