Files
Pmodules/Pmodules/bash
T
gsell e86930feee simplified module() function, do NOT loop over arguments
- all arguments are passed to modulemcd without being parsed/checked
2019-05-16 16:06:26 +02:00

54 lines
1.4 KiB
Bash

#!/bin/bash
#############################################################################
# bash 3 or newer ...
#
if [ ${BASH_VERSINFO:-0} -lt 3 ]; then
echo "BASH version ${BASH_VERSION} ist not supported! You need at least version 3..."
return 1
fi
############################################################################
# some sanity checks
#
if [[ ! -d ${PMODULES_ROOT} ]]; then
echo "Oops: ${PMODULES_ROOT}: Set as Pmodules root, but this is not a directory." 1>&2
return 1
fi
if [[ ! -d ${PMODULES_HOME} ]]; then
echo "Oops: ${PMODULES_HOME}: Set as Pmodules home, but this is not a directory." 1>&2
return 1
fi
#############################################################################
# initialize bash completion
#
if [[ -r "${PMODULES_HOME}/init/bash_completion" ]]; then
source "${PMODULES_HOME}/init/bash_completion"
fi
#############################################################################
# legacy...
#
unset MODULE_VERSION
unset MODULE_VERSION_STACK
unset MODULESHOME
unset PMODULES_ENV
PATH="${PMODULES_HOME}/bin:$PATH"
#############################################################################
# implement module comand as shell function
#
module() {
unset BASH_ENV
eval $("${PMODULES_HOME}/bin/modulecmd" bash "$@")
}
export -f module
# Local Variables:
# mode: sh
# sh-basic-offset: 8
# tab-width: 8
# End: