====== Linux ======
===== Outils pour scripts =====
\\
==== Rediriger la sortie d'un script dans un fichier de log ====
//Stdout (1) et Stderr (2)//
exec 1>${LOGFILE} 2>&1
\\
==== Rediriger la sortie d'un script vers l'écran ====
exec
\\
==== Connaître le shell courant ====
readlink "/proc/$$/exe"
\\
==== Récupérer la dernière ligne d'une liste ====
ls -l | tail -1
\\
==== Déclarer un tableau et le parcourir ====
LIST_SERVEURS=(serveur1 serveur2 serveur3)
for SERVEUR in "${LIST_SERVEURS[@]}"
do
echo $SERVEUR
done
\\
==== Lecture d'une variable sur l'entrée standard ====
Exemple : Login / Password (invisible)
read -p 'Login :' USER
read -p 'Password : ' -s PASSWORD
\\
==== Affichage d'un résultat d'exécution en rouge ou vert ====
# Declaration des fonctions
function affiche_rouge {
printf "%-45s\033[1;31;40m%s\033[0m\n" "$1" "$2"
}
function affiche_vert {
printf "%-45s\033[1;32;40m%s\033[0m\n" "$1" "$2"
}
# prend 2 parametres
# 1: un message
# 2: le résultat d'execution: 0 si OK, autre => KO
# affiche en vert si OK en rouge si KO
afficher_resultat {
if [ "$2" != "0" ]
then
affiche_rouge "Message" "[KO]"
else
affiche_vert "Message" "[OK]"
fi
}
\\
==== Fonction de suppression des espaces (TRIM) ====
function myTrim
{
TrimVal=`echo $1 | tr -s " " | sed 's/^[ ]//g'`
export TrimVal
}
VAR1=" Blabla "
myTrim ${VAR1}; VAR1=${TrimVal}
\\
==== Récupération multiple de paramètres passés en ligne de commande ====
Exemple : Creation d'une aide de script
while getopts a:n:h option # -a & -n nécessitent un argument
do
echo ""
case $option in
a) APPLI=$OPTARG
;;
n) NUMBER=$OPTARG
;;
h) echo " SYNTAXE : script.sh -a -n [-h] "
echo ""
exit
;;
*) ;;
esac
done
\\