* bash-module-env.sh: an effort to facilitate bash support for batch
scripts. Last modified date of this script: 2016-06-23.
This commit is contained in:
57
turing/support/bash-module-env.sh
Executable file
57
turing/support/bash-module-env.sh
Executable file
@@ -0,0 +1,57 @@
|
|||||||
|
# -*- bash -*-
|
||||||
|
#
|
||||||
|
#
|
||||||
|
|
||||||
|
# Some cluster defaults (may change over time)
|
||||||
|
# Reference: /etc/profile.d/modules.sh
|
||||||
|
MODULESHOME_DEFAULT=/cm/local/apps/environment-modules/3.2.10/Modules/3.2.10
|
||||||
|
MODULEPATH_DEFAULT=/cm/local/modulefiles:/cm/shared/modulefiles:/cm/shared/compilers
|
||||||
|
|
||||||
|
# RestoreModuleEnv restores module environment at batch-job runtime to be
|
||||||
|
# exactly the same as the environment at the time of job submission.
|
||||||
|
# It requires the following variables to be set:
|
||||||
|
# - MODULESHOME (optional; default provided above)
|
||||||
|
# - MODULEPATH
|
||||||
|
# - LAODEDMODULES
|
||||||
|
|
||||||
|
RestoreModuleEnv () {
|
||||||
|
local LOADEDMODULES_SAVE
|
||||||
|
: ${MODULESHOME:=$MODULESHOME_DEFAULT}
|
||||||
|
: ${MODULEPATH:=$MODULEPATH_DEFAULT}
|
||||||
|
export MODULESHOME
|
||||||
|
export MODULEPATH
|
||||||
|
|
||||||
|
LOADEDMODULES_SAVE=$LOADEDMODULES
|
||||||
|
unset LOADEDMODULES
|
||||||
|
|
||||||
|
source "$MODULESHOME/init/bash"
|
||||||
|
|
||||||
|
if [ -n "$LOADEDMODULES_SAVE" ]; then
|
||||||
|
module load ${LOADEDMODULES_SAVE//:/" "}
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -n "$Debug" -o -n "$DEBUG_MODULES" ]; then
|
||||||
|
echo "New loaded modules: $LOADEDMODULES"
|
||||||
|
module list
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
InitModuleEnv () {
|
||||||
|
# Only do the initialization part of the module so "module" command
|
||||||
|
# is available for the script
|
||||||
|
local LOADEDMODULES_SAVE
|
||||||
|
: ${MODULESHOME:=$MODULESHOME_DEFAULT}
|
||||||
|
: ${MODULEPATH:=$MODULEPATH_DEFAULT}
|
||||||
|
export MODULESHOME
|
||||||
|
export MODULEPATH
|
||||||
|
|
||||||
|
source "$MODULESHOME/init/bash"
|
||||||
|
}
|
||||||
|
|
||||||
|
# For convenience:
|
||||||
|
if [ "$1" = restore ]; then
|
||||||
|
RestoreModuleEnv
|
||||||
|
elif [ "$1" = init ]; then
|
||||||
|
InitModuleEnv
|
||||||
|
fi
|
||||||
|
|
||||||
Reference in New Issue
Block a user