Quelques Notions de Bash
Hey, les amis,
Pour tous ceux qui souhaiterais faire un petit peu de Bash, voici quelques complément d’information :
Réaliser une condition :
Si maCouleur est bleu alors écrire « maCouleur est bleu est va devenir rouge » puis passer maCouleur à rouge.
maCouleur= »bleu »
if [ « $maCouleur » = « bleu » ]; then
echo « maCouleur est $maCouleur est va devenir rouge »
maCouleur= »rouge »
fi
Lorsque vous initiez une variable en Bash, il est important, de ne pas mettre d’espace avant et après le « = »
Pour ce qui est des conditions « if » la condition doit se trouver entre crochet avec un espace entre chaque élément, avant « ] » et après le « [ » et avant et après l’opérateur logique « = », « != », « -eq », « ne », …
Vous pouvez également faire des conditions multiples :
maCouleur= »bleu »
monObjet= »ballon »
if [[ « $maCouleur » = « bleu » && monObjet != « rateau » ]]; then
echo « maCouleur est $maCouleur est va devenir rouge »
maCouleur= »rouge »
fi
Lorsque vous souhaitez passer et récupérer des paramètres en bash :
./monScript.sh parametre1 parametre2 …
Dans votre script, vous les récupérez comme ceci :
echo « parametre1 = $1 »
echo « parametre2 = $2 »
Vous pouvez également récupérer dans vos variables le retour d’execution d’une commande.
Par exemple, si nous souhaitons controler que l’utilisateur qui utilise notre programme se nomme bien « John » nous allons faire comme ceci :
PRENOM=`id -u -n`
if [ « $PRENOM » != « JOHN » ]
then
echo « Vous n’êtes pas JOHN ! »
fi
Donc comme vous l’aurez compris, c’est le même principe que d’habitude, le nom de la variable suivi d’un = et le code à exécuter entre `
Vous pouvez tester si une variable existe de cette manière là :
if [ « e$MaVariable » = « e »]
then
echo « La variable « MaVariable » n’existe pas »
fi
A aussi, je n’avais pas précisé, mais dans l’utilisation des variables, il faut savoir que lorsque vous déclarez ou changez la valeur d’une variable il ne faut pas la préfixer d’un $
Passons au boucle :
Ici par exemple, nous allons exécuter cette instruction tant que COUNTER est inférieur à 10 :
COUNTER=0
while [ $COUNTER -lt 10 ]; do
let COUNTER=COUNTER+1
done
Voili Voilou, pour l’instant rien de bien complexe, mais ça vous permettra de découvrir un peu les joie du Bash :)