Files
modules/init/bash.in
Xavier Delaruelle ee37f69f46 install: add --with-bashcompletiondir configure opt
Add the --with-bashcompletiondir option to the configure installation
script to define a particular installation directory for the bash
completion script.

If option is not defined, bash completion script is installed by default
in initdir and it is sourced in bash init script. If option is set,
completion script is installed in designated directory and bash init
script does not source it.
2021-11-24 08:51:03 +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 runtine 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;