Mini Shell
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;
Zerion Mini Shell 1.0