Table des matières

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 <NOM_APPLI> -n <NUM_ENV> [-h] "
           echo ""
           exit
           ;;
        *) ;;
 esac
done