Fix crash when invalid alias strings contain '.' are processed
Help and commandline informational output
This commit is contained in:
@@ -37,7 +37,8 @@ helpSequencer() {
|
|||||||
echo " --version : Display version of sequencer and revision of sequence"
|
echo " --version : Display version of sequencer and revision of sequence"
|
||||||
echo
|
echo
|
||||||
echo " [STEP NUMBER\"(s)\" 1-${MAX_STEP} or ALIAS]"
|
echo " [STEP NUMBER\"(s)\" 1-${MAX_STEP} or ALIAS]"
|
||||||
echo " Single STEP or ALIAS : starting point of process"
|
echo " No STEP or ALIAS : assume 1 as starting point"
|
||||||
|
echo " Single STEP or ALIAS : starting point of sequential process"
|
||||||
echo " Multiple STEPS or ALIAS : execute only given steps"
|
echo " Multiple STEPS or ALIAS : execute only given steps"
|
||||||
echo " execute only one step with using special step 0"
|
echo " execute only one step with using special step 0"
|
||||||
echo " ( e.g. only execute step 4: $0 \"4 0\" )"
|
echo " ( e.g. only execute step 4: $0 \"4 0\" )"
|
||||||
@@ -58,7 +59,7 @@ endCheckEmpty() {
|
|||||||
errorText=$2
|
errorText=$2
|
||||||
fi
|
fi
|
||||||
if [ -z $ref ] ; then
|
if [ -z $ref ] ; then
|
||||||
echo -e "[Error] $errorText must not be empty.\nAborting installation."
|
echo -e " [E] $errorText must not be empty.\nAborting installation."
|
||||||
exit 666
|
exit 666
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
@@ -80,13 +81,13 @@ saveReturn() {
|
|||||||
endReturn() {
|
endReturn() {
|
||||||
if [[ ( $ERNO -ne 0 && $QUIET -ne 0 ) || ( $ERNO -ne 0 && ! -z $1 && $1 == "-f" ) ]] ; then
|
if [[ ( $ERNO -ne 0 && $QUIET -ne 0 ) || ( $ERNO -ne 0 && ! -z $1 && $1 == "-f" ) ]] ; then
|
||||||
echo
|
echo
|
||||||
echo -e "[Error] Return value $ERNO detected.\nAborting installation."
|
echo -e " [E] Return value $ERNO detected.\nAborting installation."
|
||||||
exit $ERNO
|
exit $ERNO
|
||||||
fi
|
fi
|
||||||
if [ $ERNO -ne 0 ] ; then
|
if [ $ERNO -ne 0 ] ; then
|
||||||
echo
|
echo
|
||||||
echo "[Error] Return value $ERNO detected."
|
echo " [E] Return value $ERNO detected."
|
||||||
read -p "End installation: y(default)/n? " answer
|
read -p "End installation: [y]/n? " answer
|
||||||
case $answer in
|
case $answer in
|
||||||
[nN])
|
[nN])
|
||||||
echo
|
echo
|
||||||
@@ -127,10 +128,10 @@ addConf() {
|
|||||||
esac
|
esac
|
||||||
|
|
||||||
if [ "$DRY" -ne 0 ] ; then
|
if [ "$DRY" -ne 0 ] ; then
|
||||||
echo "-- Writing $3...dry-run"
|
echo " [I] Writing $3...dry-run"
|
||||||
return 0;
|
return 0;
|
||||||
fi
|
fi
|
||||||
echo -n "Writing $3..."
|
echo -n " [I] Writing $3..."
|
||||||
|
|
||||||
if [ $confMode != "-m" ] ; then
|
if [ $confMode != "-m" ] ; then
|
||||||
# try writing config directly
|
# try writing config directly
|
||||||
@@ -160,7 +161,7 @@ addConf() {
|
|||||||
else
|
else
|
||||||
echo "$2" >> "$3"
|
echo "$2" >> "$3"
|
||||||
fi
|
fi
|
||||||
echo -e "ok \n[WARN] Existing config saved to ${addConfBackup}"
|
echo -e "ok \n [W] Existing config saved to ${addConfBackup}"
|
||||||
return 0
|
return 0
|
||||||
else
|
else
|
||||||
echo "nok (backup exists)"
|
echo "nok (backup exists)"
|
||||||
@@ -180,7 +181,7 @@ addConf() {
|
|||||||
echo "$2" >> "$MISSING_CONF"
|
echo "$2" >> "$MISSING_CONF"
|
||||||
echo >> "$MISSING_CONF"
|
echo >> "$MISSING_CONF"
|
||||||
|
|
||||||
echo "[WARN] Check $(realpath "$MISSING_CONF") for configuration conflicts ($3)"
|
echo " [W] Check $(realpath "$MISSING_CONF") for configuration conflicts ($3)"
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -208,7 +209,7 @@ execute() {
|
|||||||
return $NOTFOUND
|
return $NOTFOUND
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo -en "\n[STEP $1] "
|
echo -en "\n [STEP $1] "
|
||||||
existsFunction step_${1}_info
|
existsFunction step_${1}_info
|
||||||
if [ $? -eq 0 ] ; then
|
if [ $? -eq 0 ] ; then
|
||||||
step_${1}_info $1
|
step_${1}_info $1
|
||||||
@@ -217,7 +218,7 @@ execute() {
|
|||||||
echo
|
echo
|
||||||
fi
|
fi
|
||||||
if [ $QUIET -ne 1 ] ; then
|
if [ $QUIET -ne 1 ] ; then
|
||||||
read -p "Start: y/n(default)? " answer
|
read -p "Start: y/[n]? " answer
|
||||||
case $answer in
|
case $answer in
|
||||||
[yY])
|
[yY])
|
||||||
step_$1 $1 "$STEP_ARGS"
|
step_$1 $1 "$STEP_ARGS"
|
||||||
@@ -237,16 +238,26 @@ execute() {
|
|||||||
# Check sanitiy of step number or
|
# Check sanitiy of step number or
|
||||||
# Check if alias exists
|
# Check if alias exists
|
||||||
checkStep() {
|
checkStep() {
|
||||||
if (( $1 < 1 || $1 > $MAX_STEP )) ; then
|
local rex='^[0-9]+$'
|
||||||
eval 'local ref=$alias_'$1
|
local ref=""
|
||||||
if [ -z $ref ] || [ "$ref" == "$1" ] ; then
|
|
||||||
|
# Check if string is a number or alias
|
||||||
|
if ! [[ "$1" =~ $rex ]] ; then
|
||||||
|
eval 'ref=$alias_'"$1"
|
||||||
|
# Catch special character after eval
|
||||||
|
if ! [[ "$ref" =~ $rex ]] ; then
|
||||||
|
echo " [E] Invalid step: $1"
|
||||||
|
ref=0
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
ref=$1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if (( $ref < 1 || $ref > $MAX_STEP )) ; then
|
||||||
return 0
|
return 0
|
||||||
else
|
else
|
||||||
return $ref
|
return $ref
|
||||||
fi
|
fi
|
||||||
else
|
|
||||||
return $1
|
|
||||||
fi
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# continous <Starting Step Number>
|
# continous <Starting Step Number>
|
||||||
@@ -255,7 +266,7 @@ checkStep() {
|
|||||||
continous() {
|
continous() {
|
||||||
local step=0
|
local step=0
|
||||||
|
|
||||||
checkStep $1
|
checkStep "$1"
|
||||||
step=$?
|
step=$?
|
||||||
if [[ $step == 0 ]] ; then
|
if [[ $step == 0 ]] ; then
|
||||||
return 1
|
return 1
|
||||||
@@ -277,7 +288,7 @@ selection() {
|
|||||||
local step=0
|
local step=0
|
||||||
local array=("$@")
|
local array=("$@")
|
||||||
for i in ${array[@]} ; do
|
for i in ${array[@]} ; do
|
||||||
checkStep $i
|
checkStep "$i"
|
||||||
step=$?
|
step=$?
|
||||||
# stop on step 0
|
# stop on step 0
|
||||||
if [ $step -eq 0 ] ; then
|
if [ $step -eq 0 ] ; then
|
||||||
@@ -348,7 +359,7 @@ displayHelp() {
|
|||||||
if [ $stepsFound -eq 0 ] ; then
|
if [ $stepsFound -eq 0 ] ; then
|
||||||
echo -e "\n It seems ${0##*/} was called directly."
|
echo -e "\n It seems ${0##*/} was called directly."
|
||||||
echo -e " Please create a sequence script first.\n"
|
echo -e " Please create a sequence script first.\n"
|
||||||
read -p " Create a template now? y/n(default)? " answer
|
read -p " Create a template now? y/[n]? " answer
|
||||||
case $answer in
|
case $answer in
|
||||||
[yY])
|
[yY])
|
||||||
createTemplate
|
createTemplate
|
||||||
@@ -475,18 +486,18 @@ main() {
|
|||||||
|
|
||||||
# compatibility check of sequence
|
# compatibility check of sequence
|
||||||
if [ ! -z $VERSION_SEQREV ] && [ $VERSION_SEQREV -gt $VERSION_REV ] ; then
|
if [ ! -z $VERSION_SEQREV ] && [ $VERSION_SEQREV -gt $VERSION_REV ] ; then
|
||||||
echo "[ERROR] Unsupported sequence revision"
|
echo " [E] Unsupported sequence revision"
|
||||||
showVersion
|
showVersion
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
# exclude older versions if needed
|
# exclude older versions if needed
|
||||||
if [ ! -z $VERSION_SEQREV ] && [ $VERSION_SEQREV -lt 3 ] ; then
|
if [ ! -z $VERSION_SEQREV ] && [ $VERSION_SEQREV -lt 3 ] ; then
|
||||||
echo "[ERROR] Unsupported sequence revision (addConf)"
|
echo " [E] Unsupported sequence revision (addConf)"
|
||||||
showVersion
|
showVersion
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
if [ -z $VERSION_SEQREV ] ; then
|
if [ -z $VERSION_SEQREV ] ; then
|
||||||
echo -e "[WARNING] No sequence revision found. Trying anyway...\n";
|
echo -e " [W] No sequence revision found. Trying anyway...\n";
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# check for starting step
|
# check for starting step
|
||||||
@@ -499,7 +510,7 @@ main() {
|
|||||||
|
|
||||||
if [ $DRY -ne 0 ] ; then
|
if [ $DRY -ne 0 ] ; then
|
||||||
echo
|
echo
|
||||||
echo "[WARN] Dry run active."
|
echo " [W] Dry run active."
|
||||||
echo " Printed commands may not be accurate (e.g. quotation incorrect)"
|
echo " Printed commands may not be accurate (e.g. quotation incorrect)"
|
||||||
echo " Sequence may ignore dry run"
|
echo " Sequence may ignore dry run"
|
||||||
read -p "Press enter to continue or Ctrl + c to abort"
|
read -p "Press enter to continue or Ctrl + c to abort"
|
||||||
|
Reference in New Issue
Block a user