2017-04-06 142 views
0

我們有一個交互式腳本(腳本1),它詢問IP地址並繼續它的執行過程。腳本1從script2調用。 正如我們所知道的IP地址,我們想通過IP自動腳本,以便不需要手動干預以編程方式將參數傳遞給交互式腳本

我看着Expect模塊。但我無法在PRODUCTION服務器上安裝該模塊。

有人可以提出一種方法來解決這個問題。

+2

重寫劇本1,因此,它需要一個參數,而不是互動。 –

+0

請[編輯]你的問題,以顯示[你到目前爲止嘗試過的](http://whathaveyoutried.com)。你至少應該包含一個你遇到問題的代碼大綱(但最好是[mcve]),然後我們可以嘗試幫助解決特定的問題。你還應該閱讀[問]。 –

+0

除非它做了一些簡單的事情,否則管道可能會工作:'script2.pl | scrpit1.pl'。 –

回答

0

試試這個,

#script2.pl 

use strict; 
use warnings; 

use Getopt::Long; 

GetOptions (
"ipAddress=s" => \$ip, 
) or die("Enter IP address"); 

my $cmd = "perl script1.pl --ip=$ip"; 
system($cmd); 

#script1.pl 

use strict; 
use warnings; 

use Getopt::Long; 
GetOptions (
"ip=s" => \$ip, 
) or die("Enter IP address"); 

print "IP address is $ip"; 

執行像這樣。

perl script2.pl --ipAddress=10.11.12.13 

如果你想直接執行SCRIPT1,可以執行這樣,

perl script1.pl --ip=10.11.12.13