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]