[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: urgent newbie question : ssh : problem with variable inside ssh session



On Wed, Jan 25, 2006 at 11:49:39AM +0100, Stephane Durieux wrote:
> Hello 
>  
>  I have a problem in a ssh script: 
>  ssh host << EOF
>  for o in /directory/*
>      cp -pr /directory/* /other_location
>  
>  the problem is that variable o isn t created in fact. It seems that the it is created  on the remote machine (normal) but cannot be printable on the local.
>  what is the reason    ?
>  Can someone give me in depth  explanation  
>  I have tried --tt option whithout any result 

(Well, maybe somewhat late reply for an urgent question, but anyway...)

I suppose the idea is to supply some commands to be run remotely, via
"here document" syntax.

The key point here is that you need a shell, not a tty, to execute code
like you're trying to use (for-loop, "*" globbing, ...). -tt would
merely give you a (pseudo) tty.

Something like the following should work (of course, substitute more
sensible code to run...)

#!/bin/sh

ssh host /bin/sh << 'EOF'
for file in /some/remote/directory/*.jpg ; do
  echo Found picture: $file
done
EOF

Apart from that, I can only second what David said.

Cheers,
Almut



Reply to: