관리-도구
편집 파일: sh
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 sh 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 sh $*`; } else module() { eval `/usr/share/Modules/libexec/modulecmd-compat sh $*`; } fi fi # if sh is bash, export functions to get them defined in sub-shells if [ "${BASH:-}" != '' ]; then if [ -t 2 ]; then export -f _module_raw fi export -f module if [ "$(type -t ml)" = 'function' ]; then export -f ml fi fi # define function to switch between C and Tcl versions of Modules switchml() { swfound=1 if [ "${MODULES_USE_COMPAT_VERSION:-0}" = '1' ]; then swname='main' if [ -e /usr/share/Modules/libexec/modulecmd.tcl ]; then swfound=0 unset MODULES_USE_COMPAT_VERSION fi else swname='compatibility' if [ -e /usr/share/Modules/libexec/modulecmd-compat ]; then 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" . /usr/share/Modules/init/sh else echo "Cannot switch to Modules $swname version, command not found" return 1 fi } if [ "${BASH:-}" != '' ]; then export -f switchml fi case ":$PATH:" in *:/usr/share/Modules/bin:*) ;; *) PATH=/usr/share/Modules/bin${PATH:+:}$PATH export PATH esac # initialize MANPATH if not set 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 case ":`manpath 2>/dev/null`:" in *:/usr/share/man:*) ;; *) if [ "$MANPATH" = ':' ] || [ "$MANPATH" = '' ]; then _mlpathsep='' else _mlpathsep=: fi MANPATH=/usr/share/man$_mlpathsep$MANPATH export MANPATH unset _mlpathsep esac fi unset _mlcode _mlret # restore shell debugging options if disabled if [ -n "${_mlshdbg:-}" ]; then set -$_mlshdbg; unset _mlshdbg; fi;