This is the mail archive of the
cygwin
mailing list for the Cygwin project.
Re: sshd, plink, bash and path problems
Igor Pechtchanski wrote:
Why not try it locally, like this:
echo echo $PATH
echo 'echo $PATH'
echo "echo $PATH"
and then
sh -xc 'PATH=/blah;echo $PATH'
sh -xc "PATH=/blah;echo $PATH"
Aah. I forgot about the meanings of various quotes in bash. That's an
excellent example.
2. Is there a file (.rc something-or-other perhaps?) that I can create
that will make the "source /etc/profile" call once plink connects, so I
can have the right path when <command> happens?
Well, you can tell ssh to invoke a login shell (e.g., "ssh a@b bash -l -c
'commands'"). I don't know about plink.
plink also allows commands to be run. That "bash -l -c 'commands'"
works great. I see if there's any way to change the code to use it, but
that solves my problem.
Can I change the cygwin environment (server side) to handle both (a) and
(b) in the same way?
No. If you run the above experiments, you'll see why.
Yup. Thanks.
This has nothing to do with Cygwin. This is pure shell stuff.
I guess I didn't know the original PATH was the windows one. That makes
more sense now. So I'd see the same thing on a Linux box using pure
ssh. If the PATH were changed by /etc/profile, and I didn't use the
"bash -l -c 'commands'" stuff to force a bash login, then I wouldn't see
the new PATH there either.
I assume that the only way to 'source /etc/profile' requires a change to
the content after "ssh a@b". For example, '"ssh a@b bash -l -c
'commands'" and "ssh a@b source /etc/profile; commands" both work for
me. I only wish I could "ssh a@b commands" and have it work. I've got
the info I need to figure out a different solution, though. Thanks!
HTH,
Igor
It helps immensely. Thank you very much.
Tim
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/