X-Recipient: archive-cygwin@delorie.com
X-SWARE-Spam-Status: No, hits=-1.6 required=5.0	tests=AWL,BAYES_00,SPF_HELO_PASS,T_RP_MATCHES_RCVD
X-Spam-Check-By: sourceware.org
To: cygwin@cygwin.com
From: Andrew Schulman <schulman.andrew@epamail.epa.gov>
Subject: Re: screen  4.0.3-5 does not respect $SHELL
Date: Wed, 13 Oct 2010 11:22:20 -0400
Lines: 22
Message-ID: <idjbb61m8t17jievd00sg9i959nogvlood@4ax.com>
References: <BAY157-w64AE820D2F752B0BC9AE8E8D540@phx.gbl> <bt49b6pipkvps8m1thfoptvk4gbu6qr9qq@4ax.com> <4CB5C2D1.6010702@dronecode.org.uk>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-Archive: encrypt
X-IsSubscribed: yes
Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe@cygwin.com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin@cygwin.com>
List-Help: <mailto:cygwin-help@cygwin.com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner@cygwin.com
Mail-Followup-To: cygwin@cygwin.com
Delivered-To: mailing list cygwin@cygwin.com

> 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.

Any thoughts on which is the better solution?


--
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

