免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1999 | 回复: 5
打印 上一主题 下一主题

请问telnet后发送命令如何试发送的命令可以带变量?在线等 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-01-12 08:49 |只看该作者 |倒序浏览
我编写了一个程序,用来在windows下telnet到一个UNIX系统上,然后发送一个命令来执行UNIX系统下的一个perl程序,但是unix下的perl程序运行时需要带参数,例如"perl print 1234567",而且1234567这样的参数是可变的,因此需要在windows下telnet发送命令时参数也是要求可变的,我编的程序如下:
#!/usr/bin/perl   
use strict;
use Net::Telnet;
use constant HOST => '10.212.0.1';
use constant USER => 'root;
use constant PASS => 'test';

my $telnet=Net::Telnet->new(HOST);
print"please input a number:\n";
$number=<stdin>;
chop($number);
$telnet->login(USER,PASS);
my @connect=$telnet->cmd('perl print.pl  $number');
print @connect;

但是运行时提示"number: Undefined variable."请各位高手帮助阿.谢谢!在线等,急.

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
2 [报告]
发表于 2007-01-12 09:07 |只看该作者
my $number ="";

论坛徽章:
0
3 [报告]
发表于 2007-01-12 09:34 |只看该作者
还是不行阿!
我改成如下的程序还是不行阿.
#!/usr/bin/perl   
use strict;
use Net::Telnet;
use constant HOST => '10.212.0.1';
use constant USER => 'root;
use constant PASS => 'test';

my $telnet=Net::Telnet->new(HOST);
my $number="1234567";
$telnet->login(USER,PASS);
my @connect=$telnet->cmd('perl print.pl  $number');
print @connect;

还是提示"number: Undefined variable."

论坛徽章:
0
4 [报告]
发表于 2007-01-12 09:35 |只看该作者
改成
my $number=2356789;  
my $number='2356789';   
也是一样的提示.

论坛徽章:
0
5 [报告]
发表于 2007-01-12 10:07 |只看该作者
$telnet->cmd('perl print.pl  $number');


单引号禁用了变量内插,换成双引号吧.

论坛徽章:
0
6 [报告]
发表于 2007-01-12 10:42 |只看该作者
哦!换成""好了,谢谢各位专家的帮助,谢谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP