发现ruby ssh后, 欣喜了一阵子, 但是使用后发现一个问题, 就是有些命令执行的时候和手工执行的时候效果不一样。
简单的命令, 如pwd, ls -l是没有问题的, 能够正确得到结果。
但是如果是运行shell脚本, 或者 cd 命令,就会失败, 很奇怪吧, 不知道诸位是如何解决的?
puts Net::SSH::Version::CURRENT
ssh=Net::SSH.start(board["ip"], board["root_username"], :password => board["root_password"],:config => true,:port=> 22)
puts DateTime.now
result=ssh.exec! "export PATH=$PATH:/bin:/usr/bin:/usr/sbin:/sbin"
puts resul
puts "start to echo lib path"
result=ssh.exec! "echo $LD_LIBRARY_PATH"
puts result
#result=ssh.exec!("/usr/app/bin/apdiag")
result=ssh.exec("/usr/app/bin/apdiag")
puts result
result=ssh.exec! "pwd"
puts result
运行结果如下:
nil
start to echo lib path
#<Net::SSH::Connection::Channel:0x2926d6c>
/home/root
/usr/app/bin/apdiag: error while loading shared libraries: libmem.so: cannot open shared object file: No such file or directory
2009-06-05T14:24:34+08:00
total 336
drwxr-xr-x 6 7983 82 1024 Jun 4 08:33 build
-rw------- 1 root root 337920 Jun 4 08:29 build.tar
很奇怪啊
分享到:
- 2009-06-05 14:35
- 浏览 1241
- 评论(4)
- 论坛回复 / 浏览 (4 / 2960)
- 查看更多
相关推荐
Net::SSH是Ruby的一个开源库,它提供了SSH2协议的实现,允许开发者通过SSH协议安全地执行命令、传输文件等操作在远程Linux服务器上。 在Ruby中,Net::SSH库使得远程系统管理变得更加便捷。使用这个库,你可以执行...
ruby ssh备份远程服务器脚本,主要是学习net/scp这个模块
本模块是专门为使用Ruby编写的Puppet模块,用于管理SSH(Secure Shell),一个用于在不同系统间安全远程登录的网络协议。 SSH模块在Puppet生态系统中扮演着重要角色,因为它可以帮助自动化和标准化SSH服务器的配置...
Net :: SSH是SSH2客户端协议的纯Ruby实现。 它允许您编写通过SSH2调用远程服务器上的进程并与之交互的程序。 特征: 在远程服务器上执行进程并捕获其输出 通过单个SSH连接并行运行多个进程 支持SSH子系统 通过SSH...
Sentry是一个开源的、自我托管的日志和错误管理平台,用于实时监控和追踪应用中的异常情况,帮助开发者快速定位并修复问题。Raven库为Ruby开发者提供了一个方便的接口,将应用程序中的错误报告给Sentry服务器。 在...
这相当于在Ruby中打开一个Excel程序,并且可以控制其行为。 ```ruby excel = WIN32OLE::new('excel.application') ``` #### 3. 打开现有工作簿 可以通过`Workbook`类的`Open`方法来打开一个已经存在的Excel工作簿...
Configatron就是一个为解决这一问题而设计的库,它提供了一个简单易用且功能丰富的框架,使得Ruby应用程序的配置工作变得轻松高效。 Configatron的核心理念是提供一个简洁的API,让开发者能够快速地定义和访问应用...
在压缩包`RubyDemo_First-master`中,我们可以假设这是一个简单的Ruby项目,可能包含一个或多个Ruby文件(`.rb`),这些文件可能包含各种示例代码,比如控制台应用、基础的数据结构操作、面向对象编程示例等。...
总之,Ruby-Mutations是提升Ruby和Rails应用测试质量的一个强大工具,它可以帮助开发者编写出更健壮、更可靠的代码,通过揭示测试的弱点来增强测试覆盖率,最终使你的应用程序变得更加安全、稳定和易于维护。
Ruby-Logging库是一个在Ruby编程语言中广泛使用的日志处理工具,它借鉴了Java的log4j库的设计理念,提供了一种灵活、可扩展的方式来记录应用程序的运行信息。这个库的核心目标是帮助开发者轻松地控制日志输出的级别...
标题中的“ruby学习一个综合小练习”表明这是一个关于Ruby编程语言的学习资源,可能是通过一个实际的小项目或练习来帮助学习者提升对Ruby的理解。描述中提到的“博文链接”指向了一个特定的博客文章,虽然没有给出...
Rails框架是Ruby的一个重要应用,它是一个基于MVC(模型-视图-控制器)架构的Web开发框架,简化了Web应用的开发过程。学习Rails API,需要了解路由、控制器、模型、视图、ActiveRecord ORM(对象关系映射)以及Rails...
Ocra,全称为"One-Click Ruby Application",是专门为Ruby开发者设计的一个工具,它允许用户将Ruby源代码打包成独立的可执行文件,使得在没有Ruby环境的Windows系统上也能运行Ruby应用程序。这一特性对于分发和部署...
总之,Cloud Foundry为Ruby开发者提供了一个强大而灵活的平台,不仅简化了应用的部署和管理,还促进了开发效率的提升和社区资源的共享。对于希望利用Ruby进行高效云应用开发的团队和个人而言,Cloud Foundry无疑是一...
在"testwww"这个文件名中,"test"可能是一个示例项目或者测试用例,而"www"可能暗示这是一个与Web相关的应用。在Ruby中,Web开发最知名的框架是Ruby on Rails,它遵循MVC(模型-视图-控制器)架构模式,简化了Web...
- **MySQL的介绍和安装**:文档提到了MySQL数据库,这是Rails应用中常用的一个关系型数据库管理系统。介绍了MySQL的下载地址`***`。 - **数据库配置**:在Rails中,数据库的配置通常涉及模型的生成,以及在配置文件...
Ruby-Firehose是用于构建实时Web应用程序的一个框架,它充分利用了WebSocket技术,为开发者提供了一种高效且灵活的方式来实现实时数据传输。在本文中,我们将深入探讨Ruby-Firehose的核心概念、工作原理以及如何在...
标题中的“Ruby-CassandraDriver”指的是一个专门为Apache Cassandra设计的Ruby编程语言的客户端库。Apache Cassandra是一个分布式的、高可用的、面向列的NoSQL数据库系统,常用于处理大规模的数据存储和检索。Ruby-...
Ruby-Puma是一个高性能、轻量级且并发的Web服务器,专为Ruby编程语言设计。它在Ruby社区中广泛用于构建Web应用程序,特别是与Rails框架一起使用。Puma的设计目标是提供稳定、快速和易于管理的服务,同时保持低内存...
总的来说,Ruby-LazyHighCharts为Ruby开发者提供了一个强大且易于使用的工具,使他们能够便捷地将HighCharts的功能整合到自己的应用中,无论是在动态的Web应用还是静态的站点中,都能实现高效的数据可视化。...