Files
bash_snippets/clean_up.sh
swg 76e890992c Clean up function snippet added with tests.
Snippet for clean script exit with parameter for exit code. Updated description in readme.
2024-02-17 23:18:11 +01:00

48 lines
1.1 KiB
Bash
Executable File

#!/bin/bash
## Simple function for exiting a bash script with a given return value.
## Uses bash snippet logger.
## Cleanup and exit with exit value given.
## param 1 Exit value.
function clean_up() {
local _exit_val=$1;
echo "Cleaning up on exit $_exit_val.";
# add cleanup code here
echo "Exiting on $_exit_val.";
exit $_exit_val;
}
## Test the clean_up() function.
Param=$1;
Test="test"
if [[ ${Param} = $Test ]]; then
printf "Running tests for clean_up() with Param ${Param}.\n";
## testing exit code 1
exit_code1=1;
printf "Test1 with exit code $exit_code1.\n";
./clean_up.sh $exit_code1;
ret1=$?;
if [[ ${ret1} -eq ${exit_code1} ]]; then
printf "Test1 with ${exit_code1} ok.\n"
else
printf "Test1 with ${exit_code1} FAILED: got ${ret1}.\n"
fi
## testing exit code 0
exit_code2=0;
printf "Test2 with exit code $exit_code2.\n";
./clean_up.sh $exit_code2;
ret2=$?;
if [[ ${ret2} -eq ${exit_code2} ]]; then
printf "Test2 with ${exit_code2} ok.\n"
else
printf "Test2 with ${exit_code2} FAILED: got ${ret2}.\n"
fi
exit 0;
else
printf "Cleanup test with ${Param}.\n";
clean_up ${Param};
exit 0;
fi