D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
proc
/
self
/
root
/
proc
/
self
/
root
/
proc
/
self
/
root
/
usr
/
share
/
Modules
/
init
/
ksh-functions
/
Filename :
switchml
back
Copy
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 ksh 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 ksh $*`; } else module() { eval `/usr/share/Modules/libexec/modulecmd-compat ksh $*`; } 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" . /usr/share/Modules/init/ksh else echo "Cannot switch to Modules $swname version, command not found" return 1 fi } # setup FPATH to get module defined in 'ksh' interactive and non-interactive # sub-shells. only set in ksh init script to avoid side effect default FPATH # set for 'zsh' shell when it starts. _mlinstr=":$FPATH:" if [ "${_mlinstr#*:/usr/share/Modules/init/ksh-functions:}" = "$_mlinstr" ]; then FPATH=$FPATH${FPATH:+:}/usr/share/Modules/init/ksh-functions export FPATH fi _mlinstr=":$PATH:" if [ "${_mlinstr#*:/usr/share/Modules/bin:}" = "$_mlinstr" ]; then PATH=/usr/share/Modules/bin${PATH:+:}$PATH export PATH fi # 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 _mlinstr=":`manpath 2>/dev/null`:" if [ "${_mlinstr#*:/usr/share/man:}" = "$_mlinstr" ]; then if [ "$MANPATH" = ':' ] || [ "$MANPATH" = '' ]; then _mlpathsep='' else _mlpathsep=: fi MANPATH=/usr/share/man$_mlpathsep$MANPATH export MANPATH unset _mlpathsep fi unset _mlinstr fi unset _mlcode _mlret # restore shell debugging options if disabled if [ -n "${_mlshdbg:-}" ]; then set -$_mlshdbg; unset _mlshdbg; fi;