GNU screen not seeing $SHELL env var?

Tom Rodman cygzr@trodman.com
Wed Jun 20 13:20:00 GMT 2012


Not sure when this problem started. The issue:
GNU screen is starting w/an empty or undefined value for $SHELL, so
the login shell for all screen windows is incorrect:
 $ uname -a; cygcheck -c cygwin
 CYGWIN_NT-5.1 aqua 1.7.16s(0.261/5/3) 20120604 01:26:35 i686 Cygwin
 Cygwin Package Information
 Package Version Status
 cygwin 1.7.15-1 OK
 $ cygcheck -f /bin/screen
 screen-4.0.3-7
 $ grep SHELL ~/.screenrc
 shell -$SHELL
 $ echo $SHELL
 /bin/bash
 $ bash -c 'echo SHELL: $SHELL' # does this prove SHELL is exported?
 SHELL: /bin/bash
 $ screen 
 --snip/switch to a separate shell to run [procps -wwH -o pid,ppid,user,tty,args -e]:
 5988 2200 adm_tsr pty3 /bin/bash --login
 1492 5988 adm_tsr pty3 screen
 4476 1492 adm_tsr ? SCREEN
 5420 4476 adm_tsr pty4 -
 --snip/now to shell w/pid 5420 inside screen:
 $ echo SHELL: \[$SHELL]
 SHELL: []
 $ 
Notice above that pid 5420 is named '-', which corresponds
to /bin/sh, instead of /bin/bash.
 $ command ps -elW |grep 5420
 I 5420 4476 5420 2476 pty4 1008 07:54:08 /usr/bin/sh
The workaround is to export SHELL prior to starting screen.
I do not understand why that works, it seems that SHELL was already
exported, since (in a non screen login shell): 
 sh -c 'echo SHELL: $SHELL'
echos /bin/bash
Is anyone else seeing this issue?
--
thanks,
Tom
--
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


More information about the Cygwin mailing list

AltStyle によって変換されたページ (->オリジナル) /