X-Git-Url: http://git.grml.org/?a=blobdiff_plain;f=etc%2Fzsh%2Fzshenv;h=7397397c3f7f854f4ab5588dbab0f53d87636caf;hb=69255e617abd0d063240d11f975b2fecf94d758e;hp=0ef72b2cfa23014ad9e6d4b9d55f7b33bfe0e70f;hpb=8bdf3e57fdc82885826b23f7cd8c905b6331feb5;p=grml-etc-core.git diff --git a/etc/zsh/zshenv b/etc/zsh/zshenv index 0ef72b2..7397397 100644 --- a/etc/zsh/zshenv +++ b/etc/zsh/zshenv @@ -3,7 +3,6 @@ # Authors: grml-team (grml.org), (c) Michael Prokop # Bug-Reports: see http://grml.org/bugs/ # License: This file is licensed under the GPL v2. -# Latest change: Mit Jul 25 15:02:01 CEST 2007 [mika] ################################################################################ # This file is sourced on all invocations of the shell. # It is the 1st file zsh reads; it's read for every shell, @@ -23,76 +22,112 @@ # language settings (read in /etc/environment before /etc/default/locale as # the latter one is the default on Debian nowadays) - [[ -r /etc/environment ]] && source /etc/environment +# no xsource() here because it's only created in zshrc! (which is good) +[[ -r /etc/environment ]] && source /etc/environment # set environment variables (important for autologin on tty) - [[ -z "$HOSTNAME" ]] && export HOSTNAME=$(hostname) - # make sure /usr/bin/id is available - if [[ -x /usr/bin/id ]] ; then - [[ -z "$USER" ]] && export USER=$(/usr/bin/id -un) - [[ $LOGNAME == LOGIN ]] && LOGNAME=$(/usr/bin/id -un) - fi +if [ -n "${HOSTNAME}" ] ; then + export HOSTNAME="${HOSTNAME}" +else + export HOSTNAME="$(uname -n)" +fi + +# make sure /usr/bin/id is available +if [[ -x /usr/bin/id ]] ; then + [[ -z "$USER" ]] && export USER=$(/usr/bin/id -un) + [[ $LOGNAME == LOGIN ]] && LOGNAME=$(/usr/bin/id -un) +fi # workaround for live-cd mode as $HOME is not set via rungetty - if [[ -f /etc/grml_cd ]] ; then +if [[ -f /etc/grml_cd ]] ; then if (( EUID == 0 )); then - export HOME=/root + export HOME=/root else - export HOME=/home/$USER + export HOME=/home/$USER fi - fi +fi -# set $PATH +## set $PATH # gentoo users have to source /etc/profile.env - if [[ -r /etc/gentoo-release ]] ; then - [[ -r /etc/profile.env ]] && source /etc/profile.env - if (( EUID != 0 )); then - PATH="$HOME/bin:/bin:/sbin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/usr/X11R6/bin:/usr/games:/usr/NX/bin:$PATH" - else - PATH="/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/usr/local/sbin:/usr/local/bin:/usr/NX/bin:$PATH" - fi - else - # support extra software in special directory outside of squashfs environment in live-cd mode - if [[ -f /etc/grml_cd ]] ; then - [[ -d /cdrom/addons/ ]] && ADDONS=':/cdrom/addons/' - fi - if (( EUID != 0 )); then - PATH="$HOME/bin:/bin:/sbin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/usr/X11R6/bin:/usr/games:/usr/NX/bin$ADDONS" - else - PATH="/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/usr/local/sbin:/usr/local/bin:/usr/NX/bin$ADDONS" - fi - fi +if [[ -r /etc/gentoo-release ]] ; then + [[ -r /etc/profile.env ]] && source /etc/profile.env +fi + +# support extra scripts/software in special directory outside of squashfs environment in live mode +if [[ -f /etc/grml_cd ]] ; then + [[ -r /run/live/medium/scripts ]] && ADDONS='/run/live/medium/scripts' + [[ -r /etc/grml/my_path ]] && ADDONS="$(cat /etc/grml/my_path)" +fi + +# Solaris +case $(uname 2>/dev/null) in + SunOS) + path=( + /usr/bin + /usr/sbin + /usr/ccs/bin + /opt/SUNWspro/bin + /usr/ucb + /usr/sfw/bin + /usr/gnu/bin + /usr/openwin/bin + /opt/csw/bin + /sbin + ~/bin + ) +esac + +# generic $PATH handling +if (( EUID != 0 )); then + path=( + $HOME/bin + /usr/local/bin + /usr/bin + /bin + /usr/local/sbin + /usr/sbin + /sbin + /usr/local/games + /usr/games + "${ADDONS}" + "${path[@]}" + ) +else + path=( + $HOME/bin + /usr/local/sbin + /usr/local/bin + /sbin + /bin + /usr/sbin + /usr/bin + "${ADDONS}" + "${path[@]}" + ) +fi + +# remove empty components to avoid '::' ending up + resulting in './' being in $PATH +path=( "${path[@]:#}" ) - # Solaris - # case $(uname 2>/dev/null) in - # SunOS) - # PATH="/usr/bin:/usr/sbin:/usr/ccs/bin:/usr/sfw/bin:/opt/sfw/bin:/opt/bin:/usr/local/bin:/usr/openwin/bin:/usr/dt/bin:/usr/ucb:/usr/proc/bin:~/bin" - # # LD_LIBRARY_PATH="/opt/csw/lib:/opt/sfw/lib:/usr/lib:/usr/local/lib:/usr/ccs/lib:/usr/openwin/lib:/usr/ucb/lib" - # # MANPATH="$MANPATH:/opt/csw/man:/usr/man:/usr/share/man:/usr/local/man:/opt/sfw/man" - #esac +typeset -U path # less (:=pager) options: # export LESS=C - if [[ -x /usr/bin/lesspipe.sh ]] ; then - export LESSOPEN="|lesspipe.sh %s" - elif [[ -x /usr/bin/lesspipe ]] ; then - export LESSOPEN="|lesspipe %s" - fi - export READNULLCMD=${PAGER:-/usr/bin/pager} +typeset -a lp; lp=( ${^path}/lesspipe(N) ) +if (( $#lp > 0 )) && [[ -x $lp[1] ]] ; then + export LESSOPEN="|lesspipe %s" +elif [[ -x /usr/bin/lesspipe.sh ]] ; then + export LESSOPEN="|lesspipe.sh %s" +fi +unset lp -# support termcap colors when using PAGER=less: - export LESS_TERMCAP_mb=$'\E[01;31m' - export LESS_TERMCAP_md=$'\E[01;31m' - export LESS_TERMCAP_me=$'\E[0m' - export LESS_TERMCAP_se=$'\E[0m' - export LESS_TERMCAP_so=$'\E[01;44;33m' - export LESS_TERMCAP_ue=$'\E[0m' - export LESS_TERMCAP_us=$'\E[01;32m' +export READNULLCMD=${PAGER:-/usr/bin/pager} # allow zeroconf for distcc - export DISTCC_HOSTS="+zeroconf" +export DISTCC_HOSTS="+zeroconf" # MAKEDEV should be usable on udev as well by default: - export WRITE_ON_UDEV=yes +export WRITE_ON_UDEV=yes ## END OF FILE ################################################################# +# vim:filetype=zsh foldmethod=marker autoindent expandtab shiftwidth=4