zsh-users
 help / color / mirror / code / Atom feed
From: Bart Schaefer <schaefer@brasslantern.com>
To: Vincent Lefevre <vincent@vinc17.org>, zsh-users@sunsite.dk
Subject: Re: Broken /etc/zshrc ?
Date: Sun, 19 Aug 2001 18:06:06 +0000	[thread overview]
Message-ID: <1010819180607.ZM17395@candle.brasslantern.com> (raw)
In-Reply-To: <20010819175147.A1889@ay.nerim.net>

On Aug 19,  5:51pm, Vincent Lefevre wrote:
}
} The /etc/zshrc (system zshrc file) contains the following line:
} 
} source /etc/profile
} 
} Isn't this /etc/zshrc file broken? Shouldn't the /etc/profile
} be sourced in the /etc/zshenv (which doesn't exist here)?

I would think /etc/profile should be sourced in /etc/zprofile, if at all.

/etc/zshenv is sourced by *every* zsh, even non-interactive scripts that
are started with "zsh -f".  /etc/profile is intended to be sourced by
login shells.  /etc/zshrc is sourced by login shells, but also by other
interactive shells.  I'm not sure why so many linux distributors thought
that /etc/profile needed to be read from /etc/zshrc, but it seems to be
a common problem.

RedHat has finally got this bit right as of the 3.0.7 RPM, but that one
still has other cruft in /etc/zshrc.  (I haven't looked at the RPMs for
RawHide.)  I know the Mandrake folks put quite a bit of thought & effort
into setting up the /etc/z* files because of issues setting up the local
language environment.

} But /etc/profile sets the path (I think this is OK). Thus, if a
} user sets his path in his .zshenv, then this path is lost because
} /etc/zshrc is sourced after the user's .zshenv file.

This would still be true with /etc/zprofile, unfortunately.

You could put "source ~/.zshenv" in ~/.zshrc ... or you could put
"readonly path" in ~/.zshenv, I suppose.  Or in 4.0.x ~/.zshenv could
start with

    setopt no_global_rcs
    [[ -o login && -r /etc/zprofile ]] && source /etc/zprofile
    [[ -o interactive && -r /etc/zshrc ]] && source /etc/zshrc
    [[ -o login && -r /etc/zlogin ]] && source /etc/zlogin

to cause all the /etc/z* files to be loaded before any of your own.  In
that case ~/.zlogout should end with

    [[ -r /etc/zlogout ]] && source /etc/zlogout

However, if zsh was compiled with a global RCs location other than /etc,
the above could get you into trouble.

} I don't know if the /etc/zshrc was provided when compiling and
} installing zsh or provided by my Linux distribution (SuSE 7.2).

It wasn't provided when compiling and installing zsh.  We generally
recommend that (with exceptions like Mandrake's language environment)
the /etc/z* files not be used at all.

-- 
Bart Schaefer                                 Brass Lantern Enterprises
http://www.well.com/user/barts              http://www.brasslantern.com

Zsh: http://www.zsh.org | PHPerl Project: http://phperl.sourceforge.net   


  parent reply	other threads:[~2001-08-19 18:06 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-08-19 15:51 Vincent Lefevre
2001-08-19 16:55 ` Borsenkow Andrej
2001-08-19 18:06 ` Bart Schaefer [this message]
2001-08-19 19:12   ` Vincent Lefevre
2001-08-19 23:45     ` Bart Schaefer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1010819180607.ZM17395@candle.brasslantern.com \
    --to=schaefer@brasslantern.com \
    --cc=vincent@vinc17.org \
    --cc=zsh-users@sunsite.dk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).