Date: Sun, 24 Jul 2005 20:32:38 -0400 From: Damian Gerow <dgerow@afflictions.org> To: questions@freebsd.org Subject: Shell scripts, SSH sessions, and for loops, oh my! Message-ID: <20050725003238.GD2461@afflictions.org>
next in thread | raw e-mail | index | archive | help
(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 hopefully nobody minds.) I'm trying to write a shell script that runs a for loop in an SSH session. Simply, I'm trying to do this: for HOST in `cat hostnames` ; do ssh ${HOST} "for PROCESS in 01 02 ; do echo '${PROCESS}' ; done" done But because this is run in a script, that gets translated to: for HOST in `cat hostnames` ; do ssh ${HOST} "for PROCESS in 01 02 ; do echo '' ; done" done Which most definitely is not what I want. 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: none have worked. Does anyone have any ideas? - Damian P.S. Please reply privately as well to the list; thanks.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050725003238.GD2461>