Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: zsh handling of non-standard if-evaluations


> > } Hmm, my login shell is zsh and I've set in my ~/.zshenv:
> > } 
> > } . /etc/profile
> > } 
> > } which in turns goes thru /etc/profile.d/*.sh and one of those
> > scripts
> > } is from the proprietary application. So perhaps I should do
> "setopt
> > } no_equals" before the above mentioned line?
> > 
> > Generally speaking ~/.zshenv is too early in the startup script
> order
> > to be reading /etc/profile from there.  If you need to read
> > /etc/profile you should do it from ~/.zprofile.
> Good point. I definitely need to do it, I have an account on several
> machines where admins and applications add scripts under
> /etc/profile.d
> to set up various things like paths and variables.
> > your original state, you need something like this:
> > 
> >     zmodload -i zsh/parameter && {
> >       __zsh=( ${(kv)options} )
> >       emulate sh
> >       . /etc/profile
> >       emulate zsh
> >       options=( $__zsh )
> >       unset __zsh
> >     }
> > 
> > This has the side-effect of vacating any option settings from any
> > scripts
> > in /etc/profile.d that happen to know about zsh, but I think of
> that
> > as a good thing.
> I need to test this a bit. I'll get back to this when I've done some
> experiments.

Uh, oh..

I am testing this under RHEL4 / FC6, both have zsh RPMs that comes with
/etc/zprofile which has the following lines:

# source profile
if [ -f /etc/profile ]; then
        source /etc/profile

And this is also failing. I made a bug for RH about this at:


But.. reading more about this it seems that placing settings etc in zsh
startup scripts seems to be a source for endless debate.

For example, admin sets locales in /etc/profile but I want use locale
settings I set up in my init files in any case. .zshenv would be
logical, I guess, but it's too early as /etc/profile gets sources
later. .zprofile won't work because it's not sources when starting an
xterm. And .zshrc is no good because it's not sourced when session is
not interactive!


Bored stiff? Loosen up... 
Download and play hundreds of games for free on Yahoo! Games.

Messages sorted by: Reverse Date, Date, Thread, Author