Upload files to "debugging"
This commit is contained in:
131
debugging/step.sh
Normal file
131
debugging/step.sh
Normal file
@@ -0,0 +1,131 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [[ ${1} == "debug" ]]; then
|
||||
debugmode=true
|
||||
elif [[ ${1} == "run" ]]; then
|
||||
debugmode=false
|
||||
else
|
||||
echo "Must be executed in run mode or debug mode!" >&2
|
||||
echo "Example:" >&2
|
||||
echo " $0 run" >&2
|
||||
echo "or:" >&2
|
||||
echo " $0 debug" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
totalsteps=$(wc -l < own.sh)
|
||||
newhash="$(md5sum own.sh)"
|
||||
|
||||
if [[ $? != 0 ]]; then
|
||||
echo "Install dependancy md5sum..." >&2
|
||||
exit 2
|
||||
fi
|
||||
|
||||
newhash="${newhash:0:32}"
|
||||
aptcount=0
|
||||
maxaptcount=1
|
||||
rm -f own.temp
|
||||
|
||||
if [[ -f step.step ]]; then
|
||||
source step.step
|
||||
else
|
||||
currentstep=1
|
||||
hash="${newhash}"
|
||||
fi
|
||||
|
||||
if [[ "${hash}" != "${newhash}" ]]; then
|
||||
echo "own.sh has been changed! Restarting from step 1..."
|
||||
currentstep=1
|
||||
hash="${newhash}"
|
||||
fi
|
||||
|
||||
for ((step=${currentstep}; step<=${totalsteps}; step++)); do
|
||||
line="$(head -n ${step} own.sh | tail -1)"
|
||||
|
||||
if [[ ${step} == ${currentstep} ]]; then
|
||||
echo -n "Line ${step}"
|
||||
fi
|
||||
|
||||
if [[ -n ${line} ]]; then
|
||||
while [[ ${line:0:1} == " " ]]; do
|
||||
line="${line:1}"
|
||||
done
|
||||
|
||||
if [[ ${line:0:6} == "apt -y" ]]; then
|
||||
((aptcount++))
|
||||
elif [[ ${line:0:6} == "reboot" ]]; then
|
||||
line="#${line}"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ ${aptcount} -lt ${maxaptcount} ]]; then
|
||||
echo "${line}" >> own.temp
|
||||
else
|
||||
if [[ ${step} -gt ${currentstep} ]]; then
|
||||
echo -n " to ${step}"
|
||||
fi
|
||||
|
||||
echo " of ${totalsteps}"
|
||||
echo "${line}" >> own.temp
|
||||
|
||||
if [[ ${debugmode} == true ]]; then
|
||||
echo "The following code from own.sh would have been executed..."
|
||||
cat own.temp
|
||||
else
|
||||
echo "The following code from own.sh will be executed..."
|
||||
cat own.temp
|
||||
delay=$(($(wc -l < own.temp)/4+3))
|
||||
echo -n "Executing in ${delay} seconds"
|
||||
|
||||
for ((d=0; d<${delay}; d++)); do
|
||||
sleep 1
|
||||
echo -n "."
|
||||
done
|
||||
|
||||
echo
|
||||
echo
|
||||
echo
|
||||
echo
|
||||
source own.temp
|
||||
fi
|
||||
|
||||
rm -f own.temp
|
||||
echo "currentstep=$((step+1))" > step.step
|
||||
echo "hash=\"${hash}\"" >> step.step
|
||||
|
||||
exit
|
||||
fi
|
||||
done
|
||||
|
||||
if [[ ${step} -gt ${currentstep} ]]; then
|
||||
echo -n " to ${step}"
|
||||
fi
|
||||
|
||||
echo " of ${totalsteps}"
|
||||
|
||||
if [[ ${debugmode} == true ]]; then
|
||||
echo "The following code from own.sh would have been executed..."
|
||||
cat own.temp
|
||||
else
|
||||
echo "The following code from own.sh will be executed..."
|
||||
cat own.temp
|
||||
delay=$(($(wc -l < own.temp)/4+3))
|
||||
echo -n "Executing in ${delay} seconds"
|
||||
|
||||
for ((d=0; d<${delay}; d++)); do
|
||||
sleep 1
|
||||
echo -n "."
|
||||
done
|
||||
|
||||
echo
|
||||
echo
|
||||
echo
|
||||
echo
|
||||
source own.temp
|
||||
fi
|
||||
|
||||
rm -f own.temp
|
||||
echo "End of own.sh has been reached..."
|
||||
rm -f step.step
|
||||
|
||||
exit
|
||||
Reference in New Issue
Block a user