delorie.com/archives/browse.cgi | search |
X-Recipient: | archive-cygwin AT delorie DOT 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 |
X-ASG-Debug-ID: | 1286209179-0de81ffb0001-w5GHUG |
X-Barracuda-Envelope-From: | daniel AT fgm DOT com |
X-Barracuda-Apparent-Source-IP: | 216.2.55.102 |
X-ASG-Whitelist: | Client |
Message-ID: | <4CA9FE9B.7020004@fgm.com> |
Date: | Mon, 4 Oct 2010 12:19:39 -0400 |
From: | Daniel Barclay <daniel AT fgm DOT com> |
User-Agent: | Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.13) Gecko/20100914 SeaMonkey/2.0.8 |
MIME-Version: | 1.0 |
To: | <cygwin AT cygwin DOT com> |
Subject: | Re: bash bug?: nested "bash --login -i" doesn't run /etc/profile (still runs ~/.bash_profile) |
References: | <4CA4CFE3 DOT 1090300 AT fgm DOT com> |
X-ASG-Orig-Subj: | Re: bash bug?: nested "bash --login -i" doesn't run /etc/profile (still runs ~/.bash_profile) |
In-Reply-To: | <4CA4CFE3.1090300@fgm.com> |
X-Barracuda-Connect: | UNKNOWN[216.2.55.102] |
X-Barracuda-Start-Time: | 1286209179 |
X-Barracuda-Encrypted: | AES128-SHA |
X-Barracuda-URL: | http://spam.fgm.com:8000/cgi-mod/mark.cgi |
X-IsSubscribed: | yes |
Mailing-List: | contact cygwin-help AT cygwin DOT com; run by ezmlm |
List-Id: | <cygwin.cygwin.com> |
List-Unsubscribe: | <mailto:cygwin-unsubscribe-archive-cygwin=delorie DOT com AT cygwin DOT com> |
List-Subscribe: | <mailto:cygwin-subscribe AT cygwin DOT com> |
List-Archive: | <http://sourceware.org/ml/cygwin/> |
List-Post: | <mailto:cygwin AT cygwin DOT com> |
List-Help: | <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs> |
Sender: | cygwin-owner AT cygwin DOT com |
Mail-Followup-To: | cygwin AT cygwin DOT com |
Delivered-To: | mailing list cygwin AT cygwin DOT com |
I wrote: > The behavior of "bash --login -i" seems to vary depending on whether > it is a "root" invocation or a nested invocation of bash. This is > inconsistent with the description man bash, and seems to be a bug. Can anyone confirm (or "anti-confirm") this behavior?: > Details: > > > When bash is started using the Cygwin shortcut (which runs cygwin.bat, > which executes "bash --login -i"), bash reads files /etc/profile and > ~/.bash_profile. (Running "bash --login -i" from an interactive > "cmd" shell does the same.) > > However, when in that first bash process, another bash is started with > that same "bash --login -i" command, bash does _not_ read /etc/profile. > > Interestingly, that nested bash shell _does_ still read > ~/.bash_profile. > > According to the bash manual page, "bash --login -i" should read > /etc/profile in either case. (There is no mention of anything, e.g., > an environment variable from the context of the invocation, that > changes the behavior of that command.) > > > An additional symptom is that the nested bash does not listen to > SHELLOPTS as expected: > > A root invocation notices "igncr", "verbose", and "xtrace" in the > SHELLOPTS value from its invocation environment (the Windows/cmd > environment variable) as specified--it ends up setting SHELLOPTS in > itself to a value that includes those options. > > On the other hand, a nested invocation seems to ignore the SHELLOPTS > from its invocation environment (the environment variable from the > first bash shell/process)--it sets its SHELLOPTS to a value that does > _not_ include those options.) > > > Steps to reproduce (and easily see difference): > > 1. Set Windows environment variable SHELLOPTS to > "igncr:verbose:xtrace". > 2. Start bash using the installer-created Cygwin shortcut. > 3. Notice (from the output from the "verbose" and "xtrace" options) > that bash runs /etc/profile and then ~/.bash_profile. > 4. Notice (from "set") that SHELLOPTS in bash includes "igncr", > "verbose" and "xtrace" (among other options). > 5. Execute "bash --login -i". > 6. Notice (again, from the verbose/xtrace output) that bash does > _not_ run /etc/profile, but still runs ~/.bash_profile. > 7. Notice that SHELLOPTS in that invocation of bash does not include > "igncr", "verbose" or "xtrace". > > It seems that something is going wrong between the points at which bash > reads SHELLOPTS and runs /etc/profile and the point at which bash runs > ~/.bash_profile. Thanks, Daniel -- 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
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |