This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Proposed change to base-files /etc/bash.bashrc: see whether PS1 has already been set


>On Mon, Mar 26 2012 at 09:22:3147PM +0200, David Sastre Medina wrote:
>>On Mon, Mar 26, 2012 at 04:40:31PM +0100, David Caldwell wrote:
>> I can't figure out where the CVS is for base-files, but I wanted to
>> propose that the file:
>>
>> /etc/bash.bashrc
>>
>> ... be altered to test whether the PS1 variable has already been set
>> before setting it to the default.
>> I set mine in a file in the?/etc/profile.d?directory, but with the
>> standard Cygwin installation, this value is overwritten unless I
>> modify each user's local setup or alter the system-wide file.
>> It would be harmless to ignore already-set values in this situation.
>> I could obviously generate a patch as necessary if I knew where the
>> repository was, but it's a one-liner, basically:
>>
>> if [ -z "$PS1" ]; then
>> ? ? ? ? PS1='\[\e]0;\w\a\]\n\[\e[32m\]\u@\h \[\e[33m\]\w\[\e[0m\]\n\$ '
>> fi

>There is no public repository for the package. That does not stop you
>from generating a patch, though :)

>You forgot to say which shell are you using, as they are/can be
>differently set up WRT PS1.

>If I wanted all my users to get a custom (read: different from the
>default) PS1, I guess I'd use the skel files for that.

>If you decide to use a custom /etc/profile.d/ script to do that job,
>then you need to tweak system-wide /etc/profile as well, IMHO.

>Also, the patch is indeed harmless, but, as you provide it, i needs to
>be used once for each ifdef in the profile.

I'm not sure I follow ... I'm not a UNIX system administration expert,
but I am pretty sure the bash.bashrc file pertains only to bash. And
the current base version of that file only sets one variable: PS1. So
that's why I'm proposing the one-line patch.

I'm not sure why one would need to alter /etc/profile to create an
/etc/profile.d script, but I'm open to hearing more.

Of the various shells referenced in the provided /etc/profile, only
bash executes a custom file (in addition to executing the files in
/etc/profile.d), and it executes /etc/bash.bashrc.

I suppose an alternative, equivalent change to the one I originally
proposed might be to execute /etc/bash.bashrc *before* executing the
files in /etc/profile.d; either makes sense to me. I'm not sure what
the precedence order of those ought to be but my view is bash.bashrc
ought to be executed first as it is providing out-of-the-box defaults
and /etc/profile.d is intended for local modification.

I'd be willing to generate either patch. :)

-- David.

--
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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]