Files
modules/init/bash.in
2022-02-24 17:46:41 +01:00

101 lines
3.3 KiB
Plaintext

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 runtime quarantine configuration
@setquarvars@export MODULES_RUN_QUARANTINE='@RUN_QUARANTINE@'
@setquarvars@@export RUNENV_VAR='RUNENV_VAL'@
@notsetquarvars@#export MODULES_RUN_QUARANTINE='ENVVARNAME'
@notsetquarvars@
# 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:-}__MODULES_QUAR_${_mlv}='$(eval 'echo ${'$_mlv'}')' ";
fi;
_mlrv="MODULES_RUNENV_${_mlv}";
_mlre="${_mlre:-}${_mlv}='$(eval 'echo ${'$_mlrv':-}')' ";
fi;
done;
if [ -n "${_mlre:-}" ]; then
_mlre="eval ${_mlre}__MODULES_QUARANTINE_SET=1 ";
fi;
# define module command and surrounding initial environment (default value
# for MODULESHOME, MODULEPATH, LOADEDMODULES and parse of init config files)
_mlcode=$(${_mlre:-}@TCLSH@ @libexecdir@/modulecmd.tcl bash 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"
# export functions to get them defined in sub-shells
export -f _module_raw
export -f module
if [ "$(type -t ml)" = 'function' ]; then
export -f ml
fi
@sourcebashcomp@
@sourcebashcomp@ # enable completion only in interactive mode
@sourcebashcomp@ if [ ${BASH_VERSINFO:-0} -ge 3 ] && [[ $- =~ i ]] &&
@sourcebashcomp@ [ -r @initdir@/bash_completion ]; then
@sourcebashcomp@ source @initdir@/bash_completion
@sourcebashcomp@ fi
@setbinpath@
@setbinpath@ if [[ ! ":$PATH:" =~ ':@bindir@:' ]]; then
@setbinpath@@prependbinpath@ PATH=@bindir@${PATH:+:}$PATH
@setbinpath@@appendbinpath@ PATH=$PATH${PATH:+:}@bindir@
@setbinpath@ export PATH
@setbinpath@ fi
@setmanpath@
@setmanpath@ # initialize MANPATH if not set with a value that preserves manpath system
@setmanpath@ # configuration even after addition of paths to this variable by modulefiles
@setmanpath@ if [ ! -n "${MANPATH+x}" ]; then
@setmanpath@ MANPATH=:
@setmanpath@ export MANPATH
@setmanpath@ fi
@setmanpath@@usemanpath@ if [[ ! ":$(manpath 2>/dev/null):" =~ ':@mandir@:' ]]; then
@setmanpath@@notusemanpath@ if [[ ! ":$MANPATH:" =~ ':@mandir@:' ]]; then
@setmanpath@ if [ "$MANPATH" = ':' ] || [ "$MANPATH" = '' ]; then
@setmanpath@ _mlpathsep=''
@setmanpath@ else
@setmanpath@ _mlpathsep=:
@setmanpath@ fi
@setmanpath@@prependmanpath@ MANPATH=@mandir@$_mlpathsep$MANPATH
@setmanpath@@appendmanpath@ MANPATH=$MANPATH$_mlpathsep@mandir@
@setmanpath@ export MANPATH
@setmanpath@ unset _mlpathsep
@setmanpath@ fi
fi
unset _mlcode _mlret
# restore shell debugging options if disabled
if [ -n "${_mlshdbg:-}" ]; then
set -$_mlshdbg;
unset _mlshdbg;
fi;