On 10/13/2010 09:22 AM, Andrew Schulman wrote:
On 12/10/2010 18:00, Andrew Schulman wrote:
Initially SHELL=/bin/bash when using a link in start menu.From initial bash
prompt, i start screen, fresh session. There all kinds of bash misbehavior
occur, including ~/.bashrc having no effect. Apparent reason for that is that
$SHELL becomes /bin/sh instead of /bin/bash within screen.
A workaround is to start screen asscreen -s /bin/bashor have shell specified in
.screenrc. Then bash works as expected. That screen does not respect $SHELL
seems to be a bug though.
Thanks to jturney from #cygwin for helping me pinpoint the problem.
-anna
The problem seems to be caused by the fact that bash sets SHELL, but does not
export it by default, so screen doesn't inherit it and sets SHELL=/bin/sh.
OK, I see. And I do export SHELL in my bash startup scripts, so I don't have
this problem.
I can see two possible solutions:
(1) Tell users to export SHELL=/bin/bash if that's what they want processes
spawned by the shell to use.
(2) Add 'shell /bin/bash' into /etc/screenrc, on the theory that this should be
the default since bash is the default shell for Cygwin. Users who wanted to use
a different shell could override it in their .screenrc files.
(3) teach upstream screen that it should use getpwent() and honor the
pw_shell entry for the user, rather than relying on $SHELL
--
Eric Blake ebl...@redhat.com +1-801-349-2682
Libvirt virtualization library http://libvirt.org
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple