Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Message-ID: <3E551149.796644BC@doe.carleton.ca> Date: Thu, 20 Feb 2003 12:32:57 -0500 From: Shing-Fat Fred Ma X-Accept-Language: en MIME-Version: 1.0 To: cygwin AT cygwin DOT com Subject: Re: Question re. export environment variable References: Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Igor Pechtchanski wrote: > On Thu, 20 Feb 2003, Fred Ma wrote: > > > Hello, > > > > I'm using cygwin bash 2.05b-8 (it's actually gnu). > > I thought that $HOSTNAME was an environment > > variable. When I run gnu make (I'm pretty > > sure this is not a make problem), $(HOSTNAME) > > is empty. It gets fixed if I do "export HOSTNAME" > > before running make. > > > > Is there a way to check if the export command > > has been applied to $HOSTNAME? Does the > > actual transcription of $HOSTNAME's value to > > the environment happen only once, when > > "export" is applied, or is there a continual > > monitoring an mirroring of changes to $HOSTNAME > > forever after applying "export"? > > > > Fred > > Fred, > > I'm afraid you might be confused about what "exporting" a variable means. > Bash maintains an "environment", which contains the values of all the > variables it's using. When bash spawns a child, that child inherits those > variables from the parent's environment that are "exported". Thus, if you > export HOSTNAME, the child will get the current value of HOSTNAME. If you > then change HOSTNAME in the parent, the child *will not* see the change. > However, if you spawn another child, that new child *will* see the new > value. > > BTW, "export" with no variable name will print out the list of all > variables that are exported from the current shell. And, if you want to > make sure it's exported, "export HOSTNAME" can do no harm. But both this > and the above are off-topic for the Cygwin list, and could have been found > by a simple perusal of "man bash". > Igor > -- > http://cs.nyu.edu/~pechtcha/ > |\ _,,,---,,_ pechtcha AT cs DOT nyu DOT edu > ZZZzz /,`.-'`' -. ;-;;,_ igor AT watson DOT ibm DOT com > |,4- ) )-,_. ,\ ( `'-' Igor Pechtchanski > '---''(_/--' `-'\_) fL a.k.a JaguaR-R-R-r-r-r-.-.-. Meow! > > Oh, boy, virtual memory! Now I'm gonna make myself a really *big* RAMdisk! > -- /usr/games/fortune Igor, Thanks for the information. The "man bash" confirms what you said, and what I thought I knew before encountering the problem. What made me uncertain was that things don't always behave the same in the cygwin environment as they do in, say, solaris, and I'm never sure what behaviour might be due to customizations. Another thing that made me unsure was that it seems strange for $HOSTNAME not to be marked export by default, I didn't think that would happen intentionally. Though it appears now that it is that way. I did miss the bit in the man pages about showing all the export variables. My apologies, I should have spent more time reading it more carefully. Fred -- Fred Ma, fma AT doe DOT carleton DOT ca Carleton University, Dept. of Electronics 1125 Colonel By Drive, Ottawa, Ontario Canada, K1S 5B6 -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Bug reporting: http://cygwin.com/bugs.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/