Net-ssh and remote shell

following the page :
<http://drnicwilliams.com/2006/09/22/remote-shell-with-ruby/>

i've uninstalled net-ssh and the like then,
intall needle-1.3.0.gem
and re-installed :
net-ssh-2.0.3.gem
net-scp-1.0.1.gem
net-ssh-gateway-1.0.0.gem
net-ssh-multi-1.0.0.gem

after that, i wanted to test a small piece of code :

···

------------------------------------------------------------------------
#! /usr/bin/env ruby

require 'rubygems'
require 'needle'
require 'net/ssh'
require 'lib/preferences' # gives the options
require 'lib/tt_check' # gives tt_connected? (verify the USB-lan is
connected)

if tt_connected?
  result=""
  session=Net::SSH.start("TT", "root", options)
  shell=session.shell.sync ### <<<=== line 13
  out=shell.send_command 'ls -lart'
  puts out.stdout
else
  puts "Twin-Tact is not connected."
end
------------------------------------------------------------------------

and i got :
$ ./ssh_shell_sync.rb
./ssh_shell_sync.rb:13: undefined method `shell' for
#<Net::SSH::Connection::Session:0x16b4fd0> (NoMethodError

then, i wonder if there is a special way to install net-ssh to let it
take into account "Needle" ???
--
Une Bévue

Your code example works with net-shh 1.1.2 but not 2.0.3

For this sort of thing I prefer to use the .exec method and store all
output in an array:

require 'rubygems'
require 'needle'
require 'net/ssh'
  session=Net::SSH.start("localhost",
"90kts", :password=>"**************")
  cmd = 'ls -lart'
  out = []
  out = session.exec!(cmd).split(/\n/)
  puts out

Hope that helps =)

yes fine !

what is the usefullness of "needle" here ?

I've installed it, but don't know how to verify net/ssh makes use of
it...

also, I'm unable to have a command with "cd /some/path"

cd is a built-in, i think that's the prob.

···

90kts <koops@90kts.com> wrote:

For this sort of thing I prefer to use the .exec method and store all
output in an array:

require 'rubygems'
require 'needle'
require 'net/ssh'
  session=Net::SSH.start("localhost",
"90kts", :password=>"**************")
  cmd = 'ls -lart'
  out =
  out = session.exec!(cmd).split(/\n/)
  puts out

Hope that helps =)

--
Une Bévue

for example, with :
session.exec!("cd /mnt/fat;ls -Al")

i get :
exec: 4: cd: not found

???

···

Une Bévue <unbewusst.sein@weltanschauung.com.invalid> wrote:

also, I'm unable to have a command with "cd /some/path"

cd is a built-in, i think that's the prob.

--
Une Bévue

needle is a dependency, it will complain if you try and install net-
ssh without it.
for your example, just do this:
session.exec!("ls -Al /mnt/fat")

···

On Jul 28, 8:06 pm, unbewusst.s...@weltanschauung.com.invalid (Une Bévue) wrote:

Une Bévue <unbewusst.s...@weltanschauung.com.invalid> wrote:
> also, I'm unable to have a command with "cd /some/path"

> cd is a built-in, i think that's the prob.

for example, with :
session.exec!("cd /mnt/fat;ls -Al")

i get :
exec: 4: cd: not found

???
--
Une Bévue

You will need to use Dir#chdir to change directories.

···

On Mon Jul 28 19:09:39 2008, Une_B=E9vue wrote:

Une Bévue <unbewusst.sein@weltanschauung.com.invalid> wrote:

> also, I'm unable to have a command with "cd /some/path"
>
> cd is a built-in, i think that's the prob.

for example, with :
session.exec!("cd /mnt/fat;ls -Al")

i get :
exec: 4: cd: not found

???
--
Une Bévue

--
Fred O. Phillips
BBC7 7572 755F 83E0 3209 504A E4F7 874F 1545 9D41

needle is a dependency, it will complain if you try and install net-
ssh without it.

not sure about that point because i did two installs the first without
needle, i've uninstalled afterwards, install needle, and re-install
net/ssh.
no visible differences ???

for your example, just do this:
session.exec!("ls -Al /mnt/fat")

yes, of course, it was only an example.

···

90kts <koops@90kts.com> wrote:
--
Une Bévue

Does it not automatically install dependencies by default?

When I install from a local gem (no connection to internet) it will
complain that it doesn't have the required dependency (needle)

Try installing with --ignore-dependencies and see what happens...
Anyhoo ..

···

On Jul 28, 11:36 pm, unbewusst.s...@weltanschauung.com.invalid (Une Bévue) wrote:

90kts <ko...@90kts.com> wrote:

> needle is a dependency, it will complain if you try and install net-
> ssh without it.

not sure about that point because i did two installs the first without
needle, i've uninstalled afterwards, install needle, and re-install
net/ssh.
no visible differences ???

> for your example, just do this:
> session.exec!("ls -Al /mnt/fat")

yes, of course, it was only an example.
--
Une Bévue

Quiest frankly i don't remember that point...
If i remember well i've installed net/ssh from local gems without needle
the first time.

···

90kts <koops@90kts.com> wrote:

Does it not automatically install dependencies by default?

When I install from a local gem (no connection to internet) it will
complain that it doesn't have the required dependency (needle)

--
Une Bévue