====== 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 \\