26 septembre 2008

Bref aperçu des tableaux en ksh

J'ai suivi il y a un mois une formation à la programmation ksh et tous les jours j'essaie de mettre en application ce que j'y ai appris. J'optimise mes scripts ou plutôt pseudo-scripts. De ce fait, nous allons voir comment manipuler un tableau en ksh.

Initialisation d'un élément d'un tableau :
tab[0]="valeur 0"
tab[1]="valeur 1"
tab[2]="valeur 2"
...
tab[n]="valeur n"

Accès aux éléments du tableau :
${tab[0]}
${tab[1]}
...
${tab[n]}

Attention pour indiquer le contenu entier d'un tableau, ne surtout pas utiliser $tab ! En effet, $tab correspond uniquement au 1er élément d'un tableau :
$tab identique à $tab[0]

Contenu entier d'un tableau :  ${tab[@]}

Exemple :
Je crée un script permettant d'exécuter quatre scripts ksh et de m'envoyer le résultat global : 0 si l'un des programmes retourne une erreur et 1 si TOUS les programmes sont OK. Ce type de programme peut être programmé dans le cron et lancé à intervalle régulier, le cron enverra un mail s'il y a une erreur. Une autre application possible est de lancer à distance ce programme via une application de supervision (zabbix par exemple).

$tab[0]=`/users/toto/prog1.ksh` #prog1.ksh renvoie 0 si KO et 1 si OK
$tab[1]=`/users/toto/prog2.ksh`  #prog2.ksh renvoie 0 si KO et 1 si OK
$tab[2]=`/users/toto/prog3.ksh`  #prog3.ksh renvoie 0 si KO et 1 si OK
$tab[3]=`/users/toto/prog4.ksh`  #prog4.ksh renvoie 0 si KO et 1 si OK

for i in ${tab[@]}
do
    if [[ $i -eq 0 ]]
    then
        echo "0"
        exit
    fi
done

# si aucune erreur le programme retourne par défaut 1
echo "1"

Posté par fatihaelh à 14:50 - ksh - Commentaires [2] - Permalien [#]

Commentaires

    Beau travail

    J ' aime beaucoup ton blog, il est super bien fait et parfois m' aide a trouver des astuces. Je te remerci pour le travail fournie.

    Mais pourqoi Fathia....?

    Posté par alilou, 18 septembre 2009
  • Merci pour ce message

    En fait, Fatiha est mon prénom

    Posté par fatiha, 18 septembre 2009

Poster un commentaire