diff options
author | Wayne Davison <wayned@users.sourceforge.net> | 2003-09-10 19:02:51 +0000 |
---|---|---|
committer | Wayne Davison <wayned@users.sourceforge.net> | 2003-09-10 19:02:51 +0000 |
commit | cd084812df8f940a8598c9f8c8b7ffac1f568542 (patch) | |
tree | f203921875bcd12c2289eea040fcf1275ddf746d | |
parent | b26ec00df5054a9cef4b62ee48c351bbb0cf18f4 (diff) | |
download | zsh-cd084812df8f940a8598c9f8c8b7ffac1f568542.tar.gz zsh-cd084812df8f940a8598c9f8c8b7ffac1f568542.tar.xz zsh-cd084812df8f940a8598c9f8c8b7ffac1f568542.zip |
Improved the comments to no longer suggest that setting PATH here is
a safe thing to do (though I do provide a safe way to do that if the user really insists on it).
-rw-r--r-- | StartupFiles/zshenv | 35 |
1 files changed, 23 insertions, 12 deletions
diff --git a/StartupFiles/zshenv b/StartupFiles/zshenv index 0f7bb7c3b..23363a433 100644 --- a/StartupFiles/zshenv +++ b/StartupFiles/zshenv @@ -1,20 +1,31 @@ # -# Generic .zshenv file for zsh 2.7 +# Generic .zshenv file for zsh # -# .zshenv is sourced on all invocations of the -# shell, unless the -f option is set. It should -# contain commands to set the command search path, -# plus other important environment variables. -# .zshenv should not contain commands that product -# output or assume the shell is attached to a tty. +# .zshenv is sourced on ALL invocations of the shell, unless the -f option is +# set. It should NOT normally contain commands to set the command search path, +# or other common environment variables unless you really know what you're +# doing. E.g. running "PATH=/custom/path gdb program" sources this file (when +# gdb runs the program via $SHELL), so you want to be sure not to override a +# custom environment in such cases. Note also that .zshenv should not contain +# commands that produce output or assume the shell is attached to a tty. # # THIS FILE IS NOT INTENDED TO BE USED AS /etc/zshenv, NOR WITHOUT EDITING return 0 # Remove this line after editing this file as appropriate -export X11HOME=/usr/X11 +# This kludge can be used to override some installations that put aliases for +# rm, mv, etc. into the system profiles. Just be sure to put "unalias alias" +# in your own rc file(s) if you use this. +alias alias=: -path=($X11HOME/bin) -path=($path /usr/ucb /usr/bin /usr/etc) -path=($path /usr/local/bin) -path=($path ~ .) +# Some people insist on setting their PATH here to affect things like ssh. +# Those that do should probably use $SHLVL to ensure that this only happens +# the first time the shell is started (to avoid overriding a customized +# environment). Also, the various profile/rc/login files all get sourced +# *after* this file, so they will override this value. One solution is to +# put your path-setting code into a file named .zpath, and source it from +# both here (if we're not a login shell) and from the .zprofile file (which +# is only sourced if we are a login shell). +if [[ $SHLVL == 1 && ! -o LOGIN ]]; then + source ~/.zpath +fi |