관리-도구
편집 파일: zsh
unset _mlshdbg; # disable shell debugging for the run of this init file if [ "${MODULES_SILENT_SHELL_DEBUG:-0}" = '1' ]; then # immediately disable debugging to echo the less number of line possible case "$-" in *v*x*) set +vx; _mlshdbg='vx' ;; *v*) set +v; _mlshdbg='v' ;; *x*) set +x; _mlshdbg='x' ;; *) _mlshdbg='' ;; esac; fi; # define modules runtine quarantine configuration export MODULES_RUN_QUARANTINE='LD_LIBRARY_PATH LD_PRELOAD' # setup quarantine if defined unset _mlre _mlIFS; if [ -n "${IFS+x}" ]; then _mlIFS=$IFS; fi; IFS=' '; for _mlv in ${=MODULES_RUN_QUARANTINE:-}; do if [ "${_mlv}" = "${_mlv##*[!A-Za-z0-9_]}" -a "${_mlv}" = "${_mlv#[0-9]}" ]; then if [ -n "`eval 'echo ${'$_mlv'+x}'`" ]; then _mlre="${_mlre:-}${_mlv}_modquar='`eval 'echo ${'$_mlv'}'`' "; fi; _mlrv="MODULES_RUNENV_${_mlv}"; _mlre="${_mlre:-}${_mlv}='`eval 'echo ${'$_mlrv':-}'`' "; fi; done; if [ -n "${_mlre:-}" ]; then _mlre="eval ${_mlre}"; fi; # define module command and surrounding initial environment (default value # for MODULESHOME, MODULEPATH, LOADEDMODULES and parse of init config files) _mlcode=`${=_mlre:-}/usr/bin/tclsh /usr/share/Modules/libexec/modulecmd.tcl zsh autoinit` _mlret=$? # clean temp variables used to setup quarantine if [ -n "${_mlIFS+x}" ]; then IFS=$_mlIFS; unset _mlIFS; else unset IFS; fi; unset _mlre _mlv _mlrv # no environment alteration if the above autoinit command failed if [ $_mlret -eq 0 ]; then eval "$_mlcode" # redefine module command if compat version has been activated if [ "${MODULES_USE_COMPAT_VERSION:-0}" = '1' ]; then MODULES_CMD=/usr/share/Modules/libexec/modulecmd-compat export MODULES_CMD if [ -t 2 ]; then _module_raw() { eval `/usr/share/Modules/libexec/modulecmd-compat zsh $*`; } else module() { eval `/usr/share/Modules/libexec/modulecmd-compat zsh $*`; } fi fi # define function to switch between C and Tcl versions of Modules switchml() { typeset swfound=1 if [ "${MODULES_USE_COMPAT_VERSION:-0}" = '1' ]; then typeset swname='main' if [ -e /usr/share/Modules/libexec/modulecmd.tcl ]; then typeset swfound=0 unset MODULES_USE_COMPAT_VERSION fi else typeset swname='compatibility' if [ -e /usr/share/Modules/libexec/modulecmd-compat ]; then typeset swfound=0 MODULES_USE_COMPAT_VERSION=1 export MODULES_USE_COMPAT_VERSION fi fi # switch version only if command found if [ $swfound -eq 0 ]; then echo "Switching to Modules $swname version" source /usr/share/Modules/init/zsh else echo "Cannot switch to Modules $swname version, command not found" return 1 fi } if [ "$MODULES_USE_COMPAT_VERSION" != '1' ]; then # setup FPATH to put module completion at hand in case zsh completion enabled if [[ ! ":$FPATH:" =~ ':/usr/share/Modules/init/zsh-functions:' ]]; then FPATH=/usr/share/Modules/init/zsh-functions${FPATH:+:}$FPATH export FPATH fi # no completion support on compat version elif typeset -f compdef >/dev/null; then compdef -d module fi if [[ ! ":$PATH:" =~ ':/usr/share/Modules/bin:' ]]; then PATH=/usr/share/Modules/bin${PATH:+:}$PATH export PATH fi # initialize MANPATH if empty (zsh defines MANPATH empty by default) with a # value that preserves manpath system configuration even after addition of # paths to this variable by modulefiles if [ ! -n "${MANPATH:+x}" ]; then MANPATH=: export MANPATH fi if [[ ! ":`manpath 2>/dev/null`:" =~ ':/usr/share/man:' ]]; then if [ "$MANPATH" = ':' ] || [ "$MANPATH" = '' ]; then _mlpathsep='' else _mlpathsep=: fi MANPATH=/usr/share/man$_mlpathsep$MANPATH export MANPATH unset _mlpathsep fi fi unset _mlcode _mlret # restore shell debugging options if disabled if [ -n "${_mlshdbg:-}" ]; then set -$_mlshdbg; unset _mlshdbg; fi;