On Wed, Dec 28, 2005 at 01:03:09PM -0500, Yaroslav Halchenko wrote: || Please advise since I am not sure against which package to file a bug. || First I mentioned weird behavior with hostname and filed a bug against || it (look below in the quotes). Apparently it might be not a bug of || hostname at all... There is something else weird is happening || || *> rsh node19 '/bin/echo 1111; /bin/echo 123' || 1111 || 123 || > rsh node19 /bin/sh -c '/bin/echo 1111; /bin/echo 123' || || 123 || *> rsh node19 /bin/tcsh -c '/bin/echo 1111; /bin/echo 123' || || 123 || *> ssh node19 /bin/tcsh -c '/bin/echo 1111; /bin/echo 123' || || 123
It's not a bug. It's a feature. :)
The arguments to rsh/ssh are concatenated with spaces and passed to your
login shell (say $SHELL) with the -c argument. So it runs:
$SHELL -c '/bin/echo 1111; bin/echo 123'
$SHELL -c '/bin/sh -c /bin/echo 1111; /bin/echo 123'
$SHELL -c '/bin/tcsh -c /bin/echo 1111; /bin/echo 123'
$SHELL -c '/bin/tcsh -c /bin/echo 1111; /bin/echo 123'
The inner shell sees arguments (quoted for clarity):
/bin/sh -c '/bin/echo' '1111'
/bin/tcsh -c '/bin/echo' '1111'
/bin/tcsh -c '/bin/echo' '1111'
So it runs the command /bin/echo with $1=1111. However, /bin/echo
doesn't use $1, and only prints an empty line which you see.
After that, the login shell runs /bin/echo 123, which prints 123 as
you see.
Ciao. Vincent.
--
Vincent Zweije <[EMAIL PROTECTED]> | "If you're flamed in a group you
<http://www.xs4all.nl/~zweije/> | don't read, does anybody get burnt?"
[Xhost should be taken out and shot] | -- Paul Tomblin on a.s.r.
signature.asc
Description: Digital signature

