delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2004/05/03/04:19:32

Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sources.redhat.com/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
Reply-To: <Jan DOT Schormann AT BrainLAB DOT com>
From: "Jan Schormann" <Jan DOT Schormann AT BrainLAB DOT com>
To: <cygwin AT cygwin DOT com>
Subject: Handling of /etc/profile.d broken?
Date: Mon, 3 May 2004 10:18:44 +0200
Message-ID: <KCEOLMMHICICJKHPFOALAEDGCDAA.Jan.Schormann@BrainLAB.com>
MIME-Version: 1.0
X-OriginalArrivalTime: 03 May 2004 08:18:44.0729 (UTC) FILETIME=[40488690:01C430E7]
X-Spam-Status: No, hits=-104.8 required=5.5 tests=BAYES_10,MSGID_GOOD_EXCHANGE,USER_IN_WHITELIST version=2.55
X-Spam-Level:
X-Spam-Checker-Version: SpamAssassin 2.55 (1.174.2.19-2003-05-19-exp)
X-IsSubscribed: yes
Note-from-DJ: This may be spam

------=_NextPart_000_0011_01C430F8.03BA2510
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit

Hi,

I've just noticed a weird problem:
When I set an environment variable in a script in
/etc/profile.d, I never see it in my shell.
For example, take

---- /etc/profile.d/blub.sh:
export blub=1
----

Adding "echo $blub" to the loop in /etc/profile,
I can see that it gets set, but is unset immediately
after the loop.

The attached patch changes the loop from the
"find ... | while ..." idiom to "for f in `find ...` ...",
and that works.

Is it true that the "|" starts a new sub-shell, which
makes all the "export" commands and the use of the
"source" (".") obsolete? What a pity.

I wonder whether it has been like that all the time,
and I'm the only one who's so stupid as to try and set
environment variables in /etc/profile.d?

Funny world ;-) Any hints?

Best wishes,
	Jan.

------=_NextPart_000_0011_01C430F8.03BA2510
Content-Type: application/octet-stream;
	name="profile.patch"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
	filename="profile.patch"

--- /etc/profile~	2003-09-02 11:14:35.695367000 +0200
+++ /etc/profile	2004-05-03 10:08:17.905875000 +0200
@@ -47,7 +47,7 @@
=20
 # Run all of the profile.d scripts
 # Note that these are supplied by separate packages
-/bin/find /etc/profile.d -iname '*.sh' -type f | while read f; do
+for f in `/bin/find /etc/profile.d -iname '*.sh' -type f`; do
   if [ -f "$f" ]; then
     . "$f"
   fi


------=_NextPart_000_0011_01C430F8.03BA2510
Content-Type: text/plain; charset=us-ascii

--
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/
------=_NextPart_000_0011_01C430F8.03BA2510--


- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019