Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT sources DOT redhat DOT com Delivered-To: mailing list cygwin AT sources DOT redhat DOT com X-Apparently-From: Message-ID: <3AB4C4EC.8C8E71D4@yahoo.com> Date: Sun, 18 Mar 2001 09:23:40 -0500 From: Earnie Boyd Reply-To: Earnie Boyd X-Mailer: Mozilla 4.76 [en] (WinNT; U) X-Accept-Language: en MIME-Version: 1.0 To: "Matthew O. Persico" CC: cygwin Subject: Re: Bash is backwards, or I can't read a man page. References: <3AB2D6D0 DOT 412200CA AT acedsl DOT com> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit "Matthew O. Persico" wrote: > > According to what I get from the manpage, the order of execution for a > login shell should be: > > /etc/profile > ~/.bash_profile > ~/.bashrc > > When I login, I see > /etc/profile > ~/.bashrc > ~/.bash_profile > > because /etc/profile tests for ./.bashrc and runs it itself. > > Is this a bug or a feature? Does someone have a clearer explanation of > what stuff goes into .bash_profile and what goes into .bashrc and when > they get called? Maybe it's just me - I can't grok this in ksh using the > O'Reilly book either. > IMO, the test for ~/.bashrc should go into the ~/.bash_profile file. Bash doesn't grok the ~/.bashrc file during --login so it needs to get sourced by a profile file. Since more than one shell groks the /etc/profile file then specifics for a particular brand of shell should be kept to a minimum. Once upon a time Cygwin only shipped with one interactive shell, so when setup.exe, which is what creates /etc/profile in the first place, was created the designers chose to test for ~/.bashrc globally because it would cause less mail list traffic. Now what should go in profile and what should go in bashrc? The profile should be used define variables and setup a login account that any shell can grok. The bashrc should contain bash specific things such as aliases. Note the /etc/profile and ~/.bash_profile isn't read during non-login execution because those things should be passed to the child while alias won't be. For further reading check out the info file in /usr/info. Earnie. _________________________________________________________ Do You Yahoo!? Get your free @yahoo.com address at http://mail.yahoo.com -- Want to unsubscribe from this list? Check out: http://cygwin.com/ml/#unsubscribe-simple