diff --git a/Bootstrap/Pmodules/bash b/Bootstrap/Pmodules/bash index 0683631..32f5ad3 100644 --- a/Bootstrap/Pmodules/bash +++ b/Bootstrap/Pmodules/bash @@ -32,6 +32,8 @@ module() { [[ ${#args[@]} == 0 ]] && args+=( 'help' ) [[ ${#args[@]} == 1 ]] && args+=( '--' ) + # we have to eval here, otherwise we cannot do something like + # $ module load gcc/5.2.0 openmpi/1.8.8 hdf5/1.8.15 local -i i=1 for (( i=1; i < ${#args[@]}; i++ )); do eval $( "${modulecmd}" bash "${args[0]}" "${switches[@]}" "${args[i]}" ) diff --git a/Bootstrap/Pmodules/modulecmd.bash.in b/Bootstrap/Pmodules/modulecmd.bash.in index ea000d4..9672145 100755 --- a/Bootstrap/Pmodules/modulecmd.bash.in +++ b/Bootstrap/Pmodules/modulecmd.bash.in @@ -1485,12 +1485,19 @@ subcommand_search() { # subcommand_help() { local opts='' - opts=$(pmodules::get_options -- '' "$@") || usage + opts=$(pmodules::get_options -o HV\? -l version -l help -- "$@") || usage eval set -- "${opts}" local arg='' while (( $# > 0 )); do case $1 in + -[hH] | -\? | --help ) + usage + ;; + -V | --version ) + print_version + std::die 1 + ;; -- ) : ;;