在调用脚本时,用Perl给命令行输入参数直接赋值
文章目录
我有一个叫a.pl的Perl脚本,里面有类似下面的读取命令行输入值的语句:
my $device_name =
;
如果我在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**变量。
文章作者 cookwhy
上次更新 2008-12-23