有沒有辦法啓動基於符號的nmap掃描?我想能夠運行一個nmap掃描
當我在終端執行我的代碼,如下所示:script.pl -b xx.xxx.xxx。我嘗試使用if語句來做到這一點,但它的工作。有誰知道hpw正確地做到這一點?如何用命令行參數在perl中啓動進程?
if("-b")
{
('nmap -v -r ARGS[0] >>file.txt')
}
有沒有辦法啓動基於符號的nmap掃描?我想能夠運行一個nmap掃描
當我在終端執行我的代碼,如下所示:script.pl -b xx.xxx.xxx。我嘗試使用if語句來做到這一點,但它的工作。有誰知道hpw正確地做到這一點?如何用命令行參數在perl中啓動進程?
if("-b")
{
('nmap -v -r ARGS[0] >>file.txt')
}
如果您使用單個字母作爲標誌Getopt :: Std是您所需要的。
use Getopt::Std;
my %opt;
getopt("b",\%opt);
system "nmap -v -r $opt{b} >> file.txt" if exists $opt{b};
getopt將一個字符串用作標誌,並將它們及其值映射到散列表。如果在調用腳本時實際使用a和b,則getopt(「ab」,%opt)會將%opt設置爲類似於(a =>「foo」,b =>「bar」)的內容。
命令行選項解析由使用Perl的Getopt的龍::模塊容易。下面是一個例子:
use Getopt::Long;
my ($b);
my $result = GetOptions ("b=s" => \$b);
if ($b) {
system ('nmap -v -r ' . $b . ' >>file.txt');
}
的b = S內部GetOptions會從-b字符串參數,並且將其設置爲$ B變量。
「符號」是否成爲「命令行參數」的某種代碼字? –