X-Git-Url: http://git.grml.org/?a=blobdiff_plain;f=etc%2Fzsh%2Fzshenv;h=7397397c3f7f854f4ab5588dbab0f53d87636caf;hb=99ad5c14ca391af98703fca561d40497e94d1469;hp=bf6c81900a7c8682b0c9e8fd187515d3b76404e9;hpb=7d3c439ba4e7afa0537baf3f41bf7a38b326e0b1;p=grml-etc-core.git diff --git a/etc/zsh/zshenv b/etc/zsh/zshenv index bf6c819..7397397 100644 --- a/etc/zsh/zshenv +++ b/etc/zsh/zshenv @@ -26,7 +26,11 @@ [[ -r /etc/environment ]] && source /etc/environment # set environment variables (important for autologin on tty) -export HOSTNAME=${HOSTNAME:-$(hostname)} +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 @@ -43,40 +47,70 @@ if [[ -f /etc/grml_cd ]] ; then 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 +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:$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 - [[ -r /cdrom/addons ]] && ADDONS=':/cdrom/addons' - [[ -r /live/image/addons ]] && ADDONS=':/live/image/addons' - [[ -r /etc/grml/my_path ]] && ADDONS=":$(cat /etc/grml/my_path)" - 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 +# 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:/opt/swf/bin:/sbin:/usr/sbin:~/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" + 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[@]:#}" ) + +typeset -U path + # less (:=pager) options: # export LESS=C typeset -a lp; lp=( ${^path}/lesspipe(N) )