Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 30 Jul 2005 17:24:04 +1200
From:      Nick Larsen <larsen.nick@gmail.com>
To:        Damian Gerow <dgerow@afflictions.org>
Cc:        questions@freebsd.org
Subject:   Re: Shell scripts, SSH sessions, and for loops, oh my!
Message-ID:  <aceb91c30507292224488ada68@mail.gmail.com>
In-Reply-To: <20050725003238.GD2461@afflictions.org>
References:  <20050725003238.GD2461@afflictions.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Hi,

You need to escape the metacharacters, so $ will be \$.
Double quotes expand variables, single quotes do not, sou cou could
just put it all in single quotes. The local system will see the $ as a
literal, but the remote system will see it as a variable.

Hope this helps some.

Nick Larsen ( http://datanet.co.nz/ )

On 7/25/05, Damian Gerow <dgerow@afflictions.org> wrote:
> (I don't really know /where/ to ask this question.  It's not particularly
> FreeBSD-centric, but the list has been good to me in the past, so hopeful=
ly
> nobody minds.)
>=20
> I'm trying to write a shell script that runs a for loop in an SSH session=
.
> Simply, I'm trying to do this:
>=20
>     for HOST in `cat hostnames` ; do
>         ssh ${HOST} "for PROCESS in 01 02 ; do echo '${PROCESS}' ; done"
>     done
>=20
> But because this is run in a script, that gets translated to:
>=20
>     for HOST in `cat hostnames` ; do
>         ssh ${HOST} "for PROCESS in 01 02 ; do echo '' ; done"
>     done
>=20
> Which most definitely is not what I want.
>=20
> I know a few ways around this -- expand the for loop, have a secondary
> script, create a secondary script on-the-fly, etc. -- but I'm curious to =
see
> if I can convince sh to *not* interpret ${PROCESS}.  I've tried escaping =
it,
> I've tried a double-dollar, and I've tried escaping the double-dollar: no=
ne
> have worked.
>=20
> Does anyone have any ideas?
>=20
>   - Damian
>=20
> P.S. Please reply privately as well to the list; thanks.
> _______________________________________________
> freebsd-questions@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-questions
> To unsubscribe, send any mail to "freebsd-questions-unsubscribe@freebsd.o=
rg"
>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?aceb91c30507292224488ada68>