免费注册 查看新帖 |

Chinaunix

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

如何实现一个登陆后执行命令的脚本? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-09-16 16:28 |只看该作者 |倒序浏览
本帖最后由 unicornx 于 2010-09-16 16:49 编辑

想实现登陆到远程的服务器上执行shell命令,比如查看远程服务器上的ls

#!/usr/bin/perl
#
#login into DomainName by using account XXX@YYY
#
system("ssh -l username server-domain");

system("ls");

为何第二条命令执行不成?该怎么写啊,谢谢。

求职 : 技术支持/维
论坛徽章:
0
2 [报告]
发表于 2010-09-16 16:42 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
3 [报告]
发表于 2010-09-16 17:19 |只看该作者
了解一下Expect工具,很好很强大。

论坛徽章:
0
4 [报告]
发表于 2010-09-16 17:20 |只看该作者
本帖最后由 珞水的大叔 于 2010-09-16 17:27 编辑

如果想要在程序内部远程执行命令,则每次都须用ssh
嫌麻烦就写个函数,比如:
sub remotecmd($){
      my $cmd = shift;
      system("ssh -l username server-domain $cmd");
}
然后每次用函数来执行ls或其它命令即可,如:
&remotecmd("ls");

如果想要交互式,比如说执行程序后,就在命令行中让你输入远程想要执行的命令并给出返回
就可以用Expect,不过这个我不熟,可以请达人help
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP