72 lines
1.7 KiB
Markdown
72 lines
1.7 KiB
Markdown
Collection of useful bash functions.
|
|
|
|
Every script file includes the function and a test to show how it's meant to be used and check that the function really works. Just executing the script runs that test.
|
|
|
|
## Check folder for extension
|
|
|
|
Checks a given folder for certain file extensions recursively. All found files with the extension(s) are returned in a global array; New files are appended to the array.
|
|
|
|
The [check_folder_for_extension test folder](cffe_test) contains of 13 files, 12 of them images, which should be found by the test.
|
|
|
|
Function call:
|
|
```
|
|
check_folder $my_folder $extension_list
|
|
```
|
|
|
|
To test the function call:
|
|
```
|
|
check_folder_for_extension.sh ./cffe_test "*.jpg *.JPG"
|
|
```
|
|
For multiple extensions (or other parts of the file name to match) space separate the list, like shown above.
|
|
|
|
|
|
## Clean up
|
|
|
|
Cleaning up in a script and exit with a given exit code.
|
|
|
|
function call:
|
|
```
|
|
clean_up 0;
|
|
```
|
|
|
|
For testing the function call the script with:
|
|
```
|
|
clean_up.sh test
|
|
```
|
|
|
|
## Logger
|
|
|
|
[Logger](logger.sh) to write messages with individual levels to a file.
|
|
|
|
In level *debug* all logged messages are printed to stdout, too.
|
|
|
|
Log levels are
|
|
|
|
5 LLDebug, *for exceptionally verbose messages, also on std out*
|
|
|
|
4 LLInfo, *informative messages*
|
|
|
|
3 LLWarning, *warning messages*
|
|
|
|
2 LLError, *error messages*
|
|
|
|
1 LLMdtry and *mandatory messages to get minimal info in a log file*
|
|
|
|
0 LLMute *really nothing gets written*
|
|
|
|
The higher the level set in `$Log_Level` to the logger, the more verbose it gets.
|
|
|
|
```
|
|
logger $LLWARNING "This is my message";
|
|
```
|
|
produces the following message in the log file:
|
|
|
|
```
|
|
logger 20231122_22:43:19 Warning: This is my message!
|
|
```
|
|
|
|
For testing the function call the script with just:
|
|
```
|
|
logger.sh
|
|
```
|