Posted on 23-12-2008
Filed Under (技术) by waterlin

我有一个叫a.pl的Perl脚本,里面有类似下面的读取命令行输入值的语句:

my $device_name = <STDIN>;

如果我在b.pl脚本里,用system或是readpipe命令来粘合脚本a.pl,当运行到上面这个语句的时候,命令行会提示输入一个值。

有的时候,比如说自动化脚本测试中,希望能让脚本b.pl自动输入这个值,或者说,自动在b.pl脚本里给a.pl脚本里的变量$device_name赋值。

这样,程序就可以不用人工干预,全部自动运行了。

可以在b.pl中,用类似这样的语句来实现这个功能:

system(“echo yes|perl a.pl”);

或是

my @dev_check_result = readpipe(“echo “.$dev_file.” | perl a.pl”);

这样,在调用a.pl时,在命令行提示说要输入一个值给变量$device_name的时候,就会自动把yes或是$dev_file这个值赋值给a.pl里的$device_name变量。

© 2008, 浏忙大爆炸. All rights reserved.
除非注明,浏忙大爆炸文章均为原创,转载请以链接形式标明本文地址。

(0) Comments    (980) Views    Read More   
Post a Comment
Name:
Email:
Website:
Comments: