docs: orthography and grammar fixed, added table of content

This commit is contained in:
levasseur
2021-09-24 12:07:35 +02:00
parent 64c2340b52
commit 81a7c747a2
2 changed files with 107 additions and 92 deletions

View File

@@ -1,77 +1,78 @@
# init.sh developper's reference
# init.sh developer's reference
## 1. Getting started
This is a developper's reference. It's not intended to be a manual, but a
This is a developer's reference. It's not intended to be a manual, but a
reference for all internal functions, so you can easily build your own modules.
This suppose you already read the [Readme file](../README.md). Creating modules
will also requires some good knowledge of Bash programming.
This supposes you already read the [README file](../README.md). Creating modules
will also require some good knowledge of Bash programming.
## 2. The aaa_error.sh file
### 2.1. Functions
#### 2.1.1. check_root
Check if user is root. If user is not root, script execution is interupted and
exit with error.
Check if user is root. If the user is not root, script execution is interrupted
and exit with error.
This function have no parameter.
This function has no parameter.
If the variable NO_ROOT_CHECK is set to true the function always exit without
If the variable NO_ROOT_CHECK is set to true, the function always exit without
error and no check is done.
#### 2.1.2. die [--force] \<exitcode\>
Trigger an error, print a backtrace and exit the script, unless KEEPGOING
variable is set to true. In that situation we just display a warning.
Trigger an error, print a back trace and exit the script, unless KEEPGOING
variable is set to true. In that situation, we just display a warning.
If the parameter *--force* is given, we exit even if the KEEPGOING variable is
set to true.
#### 2.1.3. noerror [--noout] \<command\>
Allow the execution of a command bypassing the error management system. The
purpose is to allow execution of test returning normally a non zero value
without triggering an error and the exit comming with.
purpose is to allow execution of tests returning normally a non-zero value
without triggering an error and the exit coming with.
If the first parameter is *--noout* any outputs on standard and error console
are disabled. The other parameters is the raw command line to execute.
are disabled. The other parameters are the raw command line to execute.
In any case the function echoes the error code returned by the executed command.
In any case, the function echoes the error code returned by the executed
command.
### 2.2. Other functionnalities
### 2.2. Other functionalities
The simple integration of aaa_error.sh file into a script, will change the
entire script behaviour regarding errors. The following Bash signals will be
entire script behavior regarding errors. The following Bash signals will be
trapped:
- **ERR**: The ERR signal is triggered every time Bash encounter an error or if
a command return a non zero value. The function called on that signal will stop
execution of the script displaying an error message with error code and a
backtrace to help identify the error origin. Because of this behaviour, the
function superseed the internal "**errexit**" Bash configuration switch, unless
- **ERR**: The ERR signal is triggered every time Bash encounters an error or
if a command return a non-zero value. The function called on that signal will
stop execution of the script, displaying an error message with error code and a
back trace to help identify the error origin. Because of this behavior, the
function supersedes the internal "**errexit**" Bash configuration switch, unless
the *noerror* function is used.
- **SIGINT**: That signal is trigerred when Ctrl + C is pressed by the user.
- **SIGINT**: That signal is triggered when Ctrl + C is pressed by the user.
That signal will be interpreted only if the command being executed when the
event occurs is a Bash internal. If an executable program receive the signal it
will be interpreted with its own mechanisms, generally resulting in an execution
error that will trigger an **ERR** signal as described above. The script will
exit after cleanup when that signal is trapped.
- **SIGTERM**: That signal is typically the result of an external kill of the
bash process running the script. The kill signal can comes from the kernel or
bash process running the script. The kill signal can come from the kernel or
through the use of a *kill* command. The script will exit after cleanup.
## 3. The display.sh file
### 3.1. Functions
#### 3.1.1. prnt [I|W|E|m] \<message\>
Print a message with timestamp and header. The header depends on first parameter
will be collored and have a fixed length so the messages will always be alligned.
will be colored and have a fixed length, so the messages will always be aligned.
The first parameter is the header type, having those possible values:
- **I**: Display an informative message in green
- **W**: Display a warning in yellow
- **E**: Display an error in red
- **m**: Display a message without header but alligned
- Anything else will be treated as the message and will loose alignment.
- **m**: Display a message without header but aligned
- Anything else will be treated as the message and will lose alignment.
Second parameter is the message to display.
The second parameter is the message to display.
### 3.2. Other functionnalities
Using that script will declare many easy to remember variables containing Bash
color codes :
### 3.2. Other functionalities
Using that script will declare some easy to remember variables containing Bash
color codes:
- Standard codes depending on your environment: DEFAULTFG,
DEFAULTBG, DEFAULTCOL=*${DEFAULTBG}${DEFAULTFG}*
@@ -86,7 +87,7 @@ color codes :
- High intensity backgrounds: On_IBlack, On_IRed, On_IGreen, On_IYellow,
On_IBlue, On_IPurple, On_ICyan, On_IWhite
For exemple if you what to wite "ATTENTION: this is a warning!" in red with
For example, if you what to write "ATTENTION: this is a warning!" in red with
"ATTENTION:" on yellow background, you should write:
```shell
echo -e "${IRed}${On_IYellow}ATTENTION:${DEFAULTBG} this is a warning!${DEFAULTCOL}"
@@ -98,14 +99,14 @@ echo -e "${IRed}${On_IYellow}ATTENTION:${DEFAULTBG} this is a warning!${DEFAULTC
Display date and time based on RFC 3339 standard but slightly modified so it can
be used in filename.
That fonction takes no parameters and return its result on standard output.
That function takes no parameters and return its result on standard output.
#### 4.1.2. backupdist \<list_of_files_or_dirs\>
That fuckyion will provide a backup of any given files or directories given in
That function will provide a backup of any given files or directories given in
command line. The backup will be named name.dist-timestamp, where name is the
original file or directory name and timestamp the date and time of the backup
as retuned by the ***stdtime*** function. If a file given in parameter don't
exists the function will issue a warning and continue to the next.
exists, the function will issue a warning and continue to the next.
The function don't take any other parameters than file and/or directory names.