On Tue, Aug 12, 2003 at 03:21:50PM +0200, Fran?ois Chenais wrote:
> On Tue, 12 Aug 2003 13:50:30 +0100
> Colin Watson <[EMAIL PROTECTED]> wrote:
> > On Tue, Aug 12, 2003 at 01:35:53PM +0200, Fran?ois Chenais wrote:
> > > I try to execute many command on a remote system through ssh but some of those 
> > > commands fails. What is THE way to execute many commands through ssh ?
> > > 
> > > 
> > > exemples
> > > -----------
> > > 
> > >  [1] ssh [EMAIL PROTECTED] "cat /etc/passwd | awk -F ':' '{ print $1; }'"
> > > 
> > >      ONLY prints empty lines
> > 
> > You're not quoting correctly. $1 is expanded within "" by the shell on
> > the *local* machine. Try this:
> > 
> >   echo "cat /etc/passwd | awk -F ':' '{ print $1; }'"
> 
> U mean 
> 
>       "echo \"`cat /etc/passwd | awk -F ':' '{ print $1; }'\""

No, I'm suggesting that you type the command I gave to see how the awk
bit comes out. That's what ssh gets and what it's executing on the
remote machine.

To fix your problem, I would do:

  ssh [EMAIL PROTECTED] "cat /etc/passwd | awk -F ':' '{ print \$1; }'"

or:

  ssh [EMAIL PROTECTED] 'cat /etc/passwd | awk -F ":" "{ print \$1; }"'

(Actually I wouldn't use root at all, assuming a machine with shadow
passwords. But anyway.)

Cheers,

-- 
Colin Watson                                  [EMAIL PROTECTED]


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED] 
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to