From 90bbb6e209fc017af148a8ddcde9067b9e7c476e Mon Sep 17 00:00:00 2001 From: Thomas Constans Date: Wed, 18 May 2022 21:21:46 +0200 Subject: [PATCH] mise au point solution --- Readme.md | 7 +++++++ eval.sh | 30 ++++++++++++++++++++++++++++++ 2 files changed, 37 insertions(+) create mode 100644 eval.sh diff --git a/Readme.md b/Readme.md index 681ff88..469307d 100644 --- a/Readme.md +++ b/Readme.md @@ -1,5 +1,12 @@ ## Fonctions +### Exercice 1 + +le script eval.sh présente des redondances de code qui le rende difficile à maintenir. + +Dans l'idéal il faudra factoriser en créeant 2 fonctions + +### Exercice 2 Définir dans le fichier myfunctions.sh une fonction "myerror" prenant 2 arguments en entrée: un code et un message. diff --git a/eval.sh b/eval.sh new file mode 100644 index 0000000..f960159 --- /dev/null +++ b/eval.sh @@ -0,0 +1,30 @@ +#! /bin/bash +IFS=$'\n\t' + +function fileMTime { + if [ ! -f $1 ] ; then echo -ne "0;" ; return 0 ; fi + stat --printf "%y;" $1 +} + +function fileMustContains { + file=$1 + shift + string=$@ + if [ ! -f $file ] ; then echo -ne "0;" ; return 0 ;fi + if ( grep -i -qE "${string}" $file ) ; + then echo -ne "1;" + else + echo -ne "0;" + fi +} + +host=$1 +root=${host}/rootfs +host=$(basename $host) +hostname=$(grep HOSTNAME ${root}/etc/sysconfig/network 2>/dev/null| cut -f2 -d=) +fileMTime ${root}/root/.bash_history +fileMTime ${root}/home/formation/.bash_history +fileMTime ${root}/etc/motd +fileMustContains ${root}/etc/profile.d/zalias.sh "today" +fileMustContains ${root}/etc/profile.d/zconf.sh "PS1" +fileMustContains ${root}/etc/profile.d/zconf.sh "HISTSIZE"