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: [ANNOUNCEMENT] Updated base-files-4.0-6


On 31/03/2011 01:03, Cyrille Lefevre wrote:
> Le 31/03/2011 01:53, Cyrille Lefevre a écrit :
>> Le 18/03/2011 19:45, David Sastre a écrit :
>>> Version 4.0-6 of base-files has been uploaded.
>>>
>>> Base-files is a set of system configuration and setup files.
> 
> Hi,
> 
> PS1 *must not* be exported.
> 
> historically, it is not exported to know if it is a shell is interactive or
> not since only interactive shells set it.
> 
> i.e., the following both solutions are equivalent.
> 
> case $- in *i*) interactive ;; esac
> [ -n $PS1 ] && interactive
> 
> if PS1 is exported, it is always set for subshells and this may cause trouble
> in some script.
> 
> also, from man bash :
> 
> An  interactive  shell  is one started without non-option arguments and
> without the -c option whose standard input and error are both connected
> to  terminals  (as determined by isatty(3)), or one started with the -i
> option.  PS1 is set and $- includes i if bash is interactive,  allowing
> a shell script or a startup file to test this state.

What the man page doesn't tell you is that bash actually unsets PS1 if the
shell isn't interactive, so for bash at least, exporting PS1 can't cause a
problem.

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