Explication script structure case (unix)

bertho73 Messages postés 1 Statut Membre -  
jipicy Messages postés 41342 Statut Modérateur -
Bonjour,

Dans mon cours sur Unix, j'ai un exemple de script utilisant la structure case et permettant de déterminer le type de noyau installé sur la machine :

#!/bin/bash
i=${uname -r)
i=${1:-$i}
case '$i" in
2.6.* | 2.7.* ) type="2.6" ;;
2.4.* | 2.5.* ) type="2.4" ;;
2.2.* | 2.3.* ) type="2.2" ;;
*) type="inconnu" ;;
esac
echo Votre noyau est de type ${type}

seulement je ne comprends pas à quoi sert la ligne i=${1:-$i}.

Pouvez-vous m'expliquer merci par avance

1 réponse

jipicy Messages postés 41342 Statut Modérateur 4 896
 
Salut,

Cette ligne sert à vérifier si un paramètre ($1) aurait été passé au script, auquel cas la valeur de ce paramètre serait affectée à la variable "$i", dans le cas contraire la variable prend alors la valeur de la commande "uname -r".

Voir dans la FAQ : Le remplacement de variables en shell Bash

;-))
1