2017-04-06 4 views
0

私たちには対話型スクリプト(スクリプト1)があり、IPアドレスを求めて実行プロセスを続行します。スクリプト1はスクリプト2から呼び出されます。 IPに渡すIPアドレスを知っているので、手動による介入が不要なようにスクリプトに自動で割り当てます。対話型スクリプトにパラメタをプログラム的に渡す

Expectモジュールを調べました。しかし、私はPRODUCTIONサーバーにそのモジュールをインストールすることはできません。

誰かがこの問題を克服する方法を提案できますか?

+2

書き換えスクリプト1を実行することができます。 –

+0

質問を編集して[これまでに試したこと](http://whathaveyoutried.com)を表示してください。問題を抱えているコードのアウトライン(ただし、好ましくは[mcve])を含める必要があります。次に、特定の問題を解決することができます。 [ask]も読んでください。 –

+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"; 

このように実行します。あなたが直接SCRIPT1を実行したい場合は

perl script2.pl --ipAddress=10.11.12.13 

、それはインタラクティブなものではなく、パラメータを取るように、このよう

perl script1.pl --ip=10.11.12.13 
関連する問題