improved doc, added missing headers, file manipulation error management improved

This commit is contained in:
fatalerrors
2021-09-03 20:07:15 +02:00
parent 89164cfdb1
commit 9f584fcd65
5 changed files with 64 additions and 39 deletions

View File

@@ -19,32 +19,36 @@ export -f stdtime
backupdist()
{
[[ $# -lt 1 ]] &&
prnt E "backupdist(): Au moins un argument requis." &&
prnt E "backupdist(): At least one argument is required." &&
exit 11
for file in $@; do
if [[ -e ${file} ]]; then
local tmpstmp=$(stdtime)
prnt I "Création d'une sauvegarde de ${file} du $tmpstmp..."
cp -av $file $file.dist.$tmpstmp
if [[ -f ${file} ]]; then
local tmstmp=$(stdtime)
prnt I "Création d'une sauvegarde de ${file} du $tmstmp..."
if [[ ! cp -av $file $file.dist.$tmstmp ]]; then
else
prnt E "backupdist(): Le paramètre fournis ($file) n'est pas un fichier."
die 7
fi
done
}
export -f backupdist
# Install file to the host (specific first then general)
# Todo: implement wildcard support
installfile()
{
local filelist=""
local i=0
[[ $# -lt 2 ]] && (
prnt E "installfile(): Au moins deux arguments requis."
prnt E "installfile(): At least two arguments are required."
die 11
)
[[ $(echo $@ | grep "\*\|\?") ]] && (
prnt E "installfile(): Les wildcards sont interdits."
die 10
prnt E "installfile(): Wildcards are not authorized."
die 7
)
for arg in $@; do
@@ -59,15 +63,19 @@ installfile()
done
for i in $filelist; do :; done
if [[ ! $i==/* ]]; then
prnt E "installfile(): Target must be on the root filesystem."
prnt E "installfile(): Target must be on the root filesystem and fuul path must be provided."
die 13
fi
prnt I "Création du répertoire $(dirname $i) si nécessaire..."
mkdir -pv $(dirname $i)
if [[ -d $(dirname $i) ]]; then
prnt I "Création du répertoire $(dirname $i) d'accueil..."
if [[ ! mkdir -pv $(dirname $i) ]]; then
prnt E "installfile(): Can't create target dirrectory!"
die 12
fi
prnt I "Copie des fichiers ${filelist}..."
cp -av $filelist || (
prnt E "installfile(): Couldn't copy some required files..." &&
if [[ ! cp -av $filelist ]]; then
prnt E "installfile(): Couldn't copy some required files!" &&
die 12
)
fi
}
export -f installfile