diff --git a/eb b/eb index c0ffcdc73698a2e5d09018a9a8c53120a0f631f2..6abb6333330a20ba594979e01d3f89a4a1cd8cb1 100755 --- a/eb +++ b/eb @@ -19,7 +19,7 @@ if [ -z "$SING" ]; then fi WHO=$(whoami) -EB=$(echo $EBVERSIONEASYBUILD) +EB=$(echo "$EBVERSIONEASYBUILD") if [ -z "$EB" ]; then echo "EB version not defined" exit 1 @@ -38,7 +38,7 @@ if [[ ! -z `echo "$@" | grep "\-\-rm-module"` ]]; then fi if [[ ! -z `echo $@ | grep "\-\-find-dependency"` ]]; then - MODULE=$(echo $@ | sed "s|\-\-find-dependency||") + MODULE=$(echo "$@" | sed "s|\-\-find-dependency||") "$SCRIPTS_DIR/find-dependency.sh" "$MODULE" exit 0 fi diff --git a/scripts/find-dependency.sh b/scripts/find-dependency.sh index 594996ffeb3bc4e5cb3e338f66ec1b715b827721..3b33a63cb795fe397b6139eca06943e894ba7217 100755 --- a/scripts/find-dependency.sh +++ b/scripts/find-dependency.sh @@ -5,8 +5,8 @@ if [[ -z "$1" ]];then echo "Usage: find_dependency module_name" exit 1 fi -for P in `echo $MODULEPATH | tr ":" " "`; do - L=$(grep -E "(load|add)[[:punct:] ]*$1[^-[:alnum:]]*$" -R $P | sort) +for P in "$(echo "$MODULEPATH" | tr ":" " ")"; do + L=$(grep -E "(load|add)[[:punct:] ]*$1[^-[:alnum:]]*$" -R "$P" | sort) if [[ ! -z "$L" ]]; then LIST+=$L LIST+=$(echo -en "\n\b") @@ -19,10 +19,10 @@ fi #for loop through lines only SAVEIFS=$IFS IFS=$(echo -en "\n\b") -for MODULE_PATH in $LIST; do - MODULE_FIND=$(echo $MODULE_PATH | cut -d ':' -f 2 | grep -o -e "$1.*" | grep -o -e "[[:alnum:]/\._-]*") - MODULE_PATH=$(echo $MODULE_PATH | cut -d ':' -f 1) - MODULE_NAME=$(echo $MODULE_PATH | rev | cut -d '/' -f 1,2 | rev | sed 's/.lua//') +for MODULE_PATH in "$LIST"; do + MODULE_FIND=$(echo "$MODULE_PATH" | cut -d ':' -f 2 | grep -o -e "$1.*" | grep -o -e "[[:alnum:]/\._-]*") + MODULE_PATH=$(echo "$MODULE_PATH" | cut -d ':' -f 1) + MODULE_NAME=$(echo "$MODULE_PATH" | rev | cut -d '/' -f 1,2 | rev | sed 's/.lua//') echo -e "\e[96m$MODULE_FIND \e[37m-> \e[93m$MODULE_NAME \e[37m($MODULE_PATH)" done IFS=$SAVEIFS diff --git a/scripts/lib/find_dep b/scripts/lib/find_dep index 022451dc244f11ac09f668d806df6e767a25a2a2..af16303b2364b416a1fb36a15e6998a912d96d1d 100644 --- a/scripts/lib/find_dep +++ b/scripts/lib/find_dep @@ -1,7 +1,7 @@ find_dep() { - for P in `echo $MODULEPATH | tr ":" " "`; do - local L=$(grep -E "(load|add)[[:punct:] ]*$1[^-[:alnum:]]*$" -lR $P 2>/dev/null | sort) + for P in "$(echo "$MODULEPATH" | tr ":" " ")"; do + local L="$(grep -E "(load|add)[[:punct:] ]*$1[^-[:alnum:]]*$" -lR "$P" 2>/dev/null | sort)" if [[ ! -z "$L" ]]; then LIST+=$L LIST+=$(echo -en "\n") @@ -10,8 +10,8 @@ find_dep() if [[ -z "$LIST" ]];then return 1 fi - for MODULE_PATH in $LIST; do - local MODULE_NAME=$(echo $MODULE_PATH | rev | cut -d '/' -f 1,2 | rev | sed 's/.lua//') + for MODULE_PATH in "$LIST"; do + local MODULE_NAME="$(echo "$MODULE_PATH" | rev | cut -d '/' -f 1,2 | rev | sed 's/.lua//')" if [[ ! -z "$MODULE_NAME" ]]; then echo "$MODULE_NAME" fi diff --git a/scripts/lib/find_module_paths b/scripts/lib/find_module_paths index d22c32ca7fe24fe309501e59ebd4f9390a8abe10..3b500e200d2a8f9ddb7c4e510edff8c7dca7504f 100644 --- a/scripts/lib/find_module_paths +++ b/scripts/lib/find_module_paths @@ -1,29 +1,29 @@ find_module_paths() { echo -e "\n$1" - local ML=$(ml show $1 2>&1) + local ML="$(ml show "$1" 2>&1)" if [ $? != 0 ]; then echo "Error: Module not found" return 1 fi - local MODROOT=$(echo "$ML" | grep "EBROOT" | cut -d ',' -f 2 | cut -d '"' -f 2) + local MODROOT="$(echo "$ML" | grep "EBROOT" | cut -d ',' -f 2 | cut -d '"' -f 2)" if [ ! -d "$MODROOT" ]; then echo "Error: Non-standard installation, exiting..." exit 1 fi - local MODFILE=$(echo "$ML" | head -n3 | grep "\/[^[:space:]]*:" | tr -d ': ') + local MODFILE="$(echo "$ML" | head -n3 | grep "\/[^[:space:]]*:" | tr -d ': ')" echo " ROOT: $MODROOT" - if [ -L $MODFILE ]; then - local MODFILE2=$(readlink $MODFILE) + if [ -L "$MODFILE" ]; then + local MODFILE2="$(readlink "$MODFILE")" echo " MODL: $MODFILE" echo " MODF: $MODFILE2" - if [ $(echo $MODROOT | rev | cut -d '/' -f 1) != $(echo $MODFILE2 | sed 's/.lua//' | rev | cut -d '/' -f 1) ] || [ $(echo $MODROOT | rev | cut -d '/' -f 1) != $(echo $MODFILE | sed 's/.lua//' | rev | cut -d '/' -f 1) ];then + if [ "$(echo "$MODROOT" | rev | cut -d '/' -f 1)" != "$(echo "$MODFILE2" | sed 's/.lua//' | rev | cut -d '/' -f 1)" ] || [ "$(echo "$MODROOT" | rev | cut -d '/' -f 1)" != "$(echo "$MODFILE" | sed 's/.lua//' | rev | cut -d '/' -f 1)" ];then echo -e "\nError: Non-standard installation, exiting..." exit 1 fi else echo " MODF: $MODFILE" - if [ $(echo $MODROOT | rev | cut -d '/' -f 1) != $(echo $MODFILE | sed 's/.lua//' | rev | cut -d '/' -f 1) ];then + if [ "$(echo "$MODROOT" | rev | cut -d '/' -f 1)" != "$(echo "$MODFILE" | sed 's/.lua//' | rev | cut -d '/' -f 1)" ];then echo -e "\nError: Non-standard installation, exiting..." exit 1 fi diff --git a/scripts/lib/recursion b/scripts/lib/recursion index 91774a9bd91de691400d65aaff986dcf0722fb82..daa18e3eb22f632c1d7359f316b2c229693b85a5 100644 --- a/scripts/lib/recursion +++ b/scripts/lib/recursion @@ -1,15 +1,15 @@ recursion() { - local LIST=$(ml show $1 2>&1 | grep -E "load\(\"[[:alnum:]/\._-]*\"\)" | cut -d '"' -f2 | sort) + local LIST="$(ml show "$1" 2>&1 | grep -E "load\(\"[[:alnum:]/\._-]*\"\)" | cut -d '"' -f2 | sort)" if [[ -z "$LIST" ]];then OUT="$1 $OUT" echo -n "." return 0 fi - for MODULE in $LIST; do - local DUP=$(echo -e $OUT | grep "$MODULE") + for MODULE in "$LIST"; do + local DUP="$(echo -e "$OUT" | grep "$MODULE")" if [[ -z "$DUP" ]];then - recursion $MODULE + recursion "$MODULE" fi done OUT="$1 $OUT" diff --git a/scripts/lib/remove_module b/scripts/lib/remove_module index fc7a67d4c92850db80ae9766cc66a5e8f2cbf7f6..9c7e88e9255b9f98e6839262f14dd7a8502456da 100644 --- a/scripts/lib/remove_module +++ b/scripts/lib/remove_module @@ -1,31 +1,31 @@ remove_module() { echo -e "\nRemoving module: $1" - local ML=$(ml show $1 2>&1) + local ML="$(ml show "$1" 2>&1)" if [ $? != 0 ]; then echo "Error: Module not found" return 1 fi - local MODROOT=$(echo "$ML" | grep "EBROOT" | cut -d ',' -f 2 | cut -d '"' -f 2) - local MODFILE=$(echo "$ML" | head -n3 | grep "\/[^[:space:]]*:" | tr -d ': ') + local MODROOT="$(echo "$ML" | grep "EBROOT" | cut -d ',' -f 2 | cut -d '"' -f 2)" + local MODFILE="$(echo "$ML" | head -n3 | grep "\/[^[:space:]]*:" | tr -d ': ')" echo -ne "[ ] Removing root directory: $MODROOT" - rm -rf $MODROOT 2>&1 >/dev/null + rm -rf "$MODROOT" 2>&1 >/dev/null if [ $? == 0 ]; then echo -e "\r[\e[32m OK \e[0m] Removing root directory: $MODROOT" else echo -e "\r[\e[31mFAIL\e[0m] Removing root directory: $MODROOT" fi - if [ -L $MODFILE ]; then - local MODFILE2=$(readlink $MODFILE) + if [ -L "$MODFILE" ]; then + local MODFILE2="$(readlink "$MODFILE")" echo -ne "[ ] Removing link to modfile: $MODFILE" - rm $MODFILE 2>&1 >/dev/null + rm "$MODFILE" 2>&1 >/dev/null if [ $? == 0 ]; then echo -e "\r[\e[32m OK \e[0m] Removing link to modfile: $MODFILE" else echo -e "\r[\e[31mFAIL\e[0m] Removing link to modfile: $MODFILE" fi echo -ne "[ ] Removing modfile: $MODFILE2" - rm $MODFILE2 2>&1 >/dev/null + rm "$MODFILE2" 2>&1 >/dev/null if [ $? == 0 ]; then echo -e "\r[\e[32m OK \e[0m] Removing modfile: $MODFILE2" else @@ -33,7 +33,7 @@ remove_module() fi else echo -ne "[ ] Removing modfile: $MODFILE\r" - rm $MODFILE 2>&1 >/dev/null + rm "$MODFILE" 2>&1 >/dev/null if [ $? == 0 ]; then echo -e "[\e[32m OK \e[0m] Removing modfile: $MODFILE" else diff --git a/scripts/post_install.sh b/scripts/post_install.sh index f8323e06dbefef1378bd4160f2482921ec2aca44..208f470bb368899087ca29649d1ac0ef7f69ef10 100755 --- a/scripts/post_install.sh +++ b/scripts/post_install.sh @@ -2,7 +2,7 @@ # IT4Innovations 2018 NAME=$(ml av EasyBuild -t 2>&1 | tail -1) -VERSION=$(echo $NAME | cut -d '/' -f 2) +VERSION=$(echo "$NAME" | cut -d '/' -f 2) echo -e "==\e[33m WARNING \e[0m!!! UPGRADE $NAME for IT4Innovations adjusting??? !!!\e[33m WARNING \e[0m" echo -n "== Do you really want to upgrade it? [yes/NO]: " @@ -12,9 +12,9 @@ if [ "$CONTINUE" != "yes" ]; then fi echo -n "== eb -> eb.exe [ " -if [ ! -L /apps/all/EasyBuild/$VERSION/bin/eb ]; then - if [ -f /apps/all/EasyBuild/$VERSION/bin/eb ];then - mv /apps/all/EasyBuild/$VERSION/bin/eb /apps/all/EasyBuild/$VERSION/bin/eb.exe && echo -e "\e[32mOK \e[0m]" || echo -e "\e[31mFAIL \e[0m]" +if [ ! -L /apps/all/EasyBuild/"$VERSION"/bin/eb ]; then + if [ -f /apps/all/EasyBuild/"$VERSION"/bin/eb ];then + mv /apps/all/EasyBuild/"$VERSION"/bin/eb /apps/all/EasyBuild/"$VERSION"/bin/eb.exe && echo -e "\e[32mOK \e[0m]" || echo -e "\e[31mFAIL \e[0m]" else echo -e "\e[33mPROBLEM \e[0m]" fi @@ -23,24 +23,24 @@ else fi echo -n "== symlink eb [ " -if [ ! -f /apps/all/EasyBuild/$VERSION/bin/eb ];then - ln -s /apps/all/EasyBuild/upgrade/eb /apps/all/EasyBuild/$VERSION/bin/eb && echo -e "\e[32mOK \e[0m]" || echo -e "\e[31mFAIL\e[0m]" +if [ ! -f /apps/all/EasyBuild/"$VERSION"/bin/eb ];then + ln -s /apps/all/EasyBuild/upgrade/eb /apps/all/EasyBuild/"$VERSION"/bin/eb && echo -e "\e[32mOK \e[0m]" || echo -e "\e[31mFAIL\e[0m]" else echo -e "\e[33mEXISTS \e[0m]" fi echo -n "== symlink python.py [ " PY=$(ls /lib/ | grep python | sed "s|python||") -if [ ! -f /apps/all/EasyBuild/$VERSION/lib/python$PY/site-packages/easybuild_framework-$VERSION-py$PY.egg/easybuild/toolchains/python.py ]; then - ln -s /apps/all/EasyBuild/upgrade/python.py /apps/all/EasyBuild/$VERSION/lib/python$PY/site-packages/easybuild_framework-$VERSION-py$PY.egg/easybuild/toolchains/python.py && echo -e "\e[32mOK \e[0m]" || echo -e "\e[31mFAIL \e[0m]" +if [ ! -f /apps/all/EasyBuild/"$VERSION/lib/python$PY/site-packages/easybuild_framework-$VERSION-py$PY".egg/easybuild/toolchains/python.py ]; then + ln -s /apps/all/EasyBuild/upgrade/python.py /apps/all/EasyBuild/"$VERSION/lib/python$PY/site-packages/easybuild_framework-$VERSION-py$PY".egg/easybuild/toolchains/python.py && echo -e "\e[32mOK \e[0m]" || echo -e "\e[31mFAIL \e[0m]" else echo -e "\e[33mEXISTS \e[0m]" fi echo -n "== edit modulefile [ " -STATE=$(cat /apps/modules/all/EasyBuild/$VERSION.lua | grep sticky) +STATE=$(cat /apps/modules/all/EasyBuild/"$VERSION".lua | grep sticky) if [ "$STATE" == "" ]; then - echo 'setenv("EASYBUILD_ROBOT_PATHS", "/apps/easybuild/easyconfigs-it4i:/apps/easybuild/easyconfigs-master/easybuild/easyconfigs:/apps/easybuild/easyconfigs-develop/easybuild/easyconfigs")' >> /apps/modules/all/EasyBuild/$VERSION.lua && echo 'setenv("EASYBUILD_INCLUDE_EASYBLOCKS", "/apps/easybuild/it4i-easyblocks/easyblocks/*/*.py")' >> /apps/modules/all/EasyBuild/$VERSION.lua && echo 'add_property("lmod", "sticky")' >> /apps/modules/all/EasyBuild/$VERSION.lua && echo -e "\e[32mOK \e[0m]" || echo -e "\e[31mFAIL\e[0m]" + echo 'setenv("EASYBUILD_ROBOT_PATHS", "/apps/easybuild/easyconfigs-it4i:/apps/easybuild/easyconfigs-master/easybuild/easyconfigs:/apps/easybuild/easyconfigs-develop/easybuild/easyconfigs")' >> /apps/modules/all/EasyBuild/"$VERSION".lua && echo 'setenv("EASYBUILD_INCLUDE_EASYBLOCKS", "/apps/easybuild/it4i-easyblocks/easyblocks/*/*.py")' >> /apps/modules/all/EasyBuild/"$VERSION".lua && echo 'add_property("lmod", "sticky")' >> /apps/modules/all/EasyBuild/"$VERSION".lua && echo -e "\e[32mOK \e[0m]" || echo -e "\e[31mFAIL\e[0m]" else echo -e "\e[33mEXISTS \e[0m]" fi diff --git a/scripts/rm-module.sh b/scripts/rm-module.sh index 085ac0d99303c98c05147743e34b5cf190bf6996..4a2d191ebc6271fc52cc038b8cdef067971ffbda 100755 --- a/scripts/rm-module.sh +++ b/scripts/rm-module.sh @@ -1,19 +1,19 @@ #!/bin/bash # IT4Innovations 2019 -DIRNAME=$(dirname $0) -LIB_DIR="`dirname $0`/lib" +DIRNAME=$(dirname "$0") +LIB_DIR="$(dirname "$0")/lib" # Include functions -. $LIB_DIR/find_dep -. $LIB_DIR/find_module_paths -. $LIB_DIR/recursion -. $LIB_DIR/remove_module +. "$LIB_DIR"/find_dep +. "$LIB_DIR"/find_module_paths +. "$LIB_DIR"/recursion +. "$LIB_DIR"/remove_module # Display a usage message. usage () { - if [ -n "$*" ]; then - echo "usage error: $*" + if [ -n "$@" ]; then + echo "usage error: $@" fi cat <<EOF Usage: rm-module [OPTION ...] MODULE @@ -32,7 +32,7 @@ ARGS=$(getopt --options shfo \ --name "rm-module" -- "$@") GETOPT_STATUS=$? -if [ $GETOPT_STATUS -ne 0 ]; then +if [ "$GETOPT_STATUS" -ne 0 ]; then exit 6 fi @@ -62,7 +62,7 @@ if [[ -z "$1" ]];then exit 1 fi -MODULE=$(ml show $1 2>&1) +MODULE=$(ml show "$1" 2>&1) if [ $? == 1 ];then echo "Error: can't find module $1" @@ -72,10 +72,10 @@ fi MODULE=$(echo "$MODULE" | head -2 | tail -1 | tr -d ':' | rev | cut -d '/' -f 1,2 | rev | sed 's/.lua//') if [ "$SINGLE" ]; then - DEP=$(find_dep $MODULE) + DEP=$(find_dep "$MODULE") if [[ -z $DEP ]]; then echo -e "\r[\e[32mINDEPENDENT\e[0m] $MODULE" - find_module_paths $MODULE + find_module_paths "$MODULE" if [[ -z "$FORCE" ]];then echo -ne "\nRemove module $MODULE? [yes/NO]: " read CONTINUE @@ -83,7 +83,7 @@ if [ "$SINGLE" ]; then exit 0 fi fi - remove_module $MODULE + remove_module "$MODULE" exit 0 else echo -e "\r[\e[31m DEPENDENT \e[0m] $MODULE" @@ -92,16 +92,16 @@ if [ "$SINGLE" ]; then fi echo -n "Building module tree..." -recursion $MODULE +recursion "$MODULE" echo "done" REMOVELIST="" -for MODULE in $OUT; do +for MODULE in "$OUT"; do echo -n "[ ] $MODULE" - DEP=$(find_dep $MODULE) #find all modules dependenton this one - for MOD in $REMOVELIST; do - DEP=$(echo "$DEP" | grep -v $MOD) #erase modules which is on remove list + DEP=$(find_dep "$MODULE") #find all modules dependenton this one + for MOD in "$REMOVELIST"; do + DEP=$(echo "$DEP" | grep -v "$MOD") #erase modules which is on remove list done if [[ -z $DEP ]]; then echo -e "\r[\e[32mINDEPENDENT\e[0m] $MODULE" @@ -117,13 +117,13 @@ if [[ -z $REMOVELIST ]]; then fi echo -e "\nRemove list:" -for MODULE in $REMOVELIST; do - find_module_paths $MODULE +for MODULE in "$REMOVELIST"; do + find_module_paths "$MODULE" done if [ "$FORCE" ]; then - for MODULE in $REMOVELIST; do - remove_module $MODULE + for MODULE in "$REMOVELIST"; do + remove_module "$MODULE" done exit 0 fi @@ -137,7 +137,7 @@ if [ "$ONCE" ]; then fi fi -for MODULE in $REMOVELIST; do +for MODULE in "$REMOVELIST"; do if [[ -z "$ONCE" ]]; then echo -ne "\nRemove module $MODULE? [yes/NO]: " read CONTINUE @@ -145,7 +145,7 @@ for MODULE in $REMOVELIST; do continue fi fi - remove_module $MODULE + remove_module "$MODULE" done exit 0