Dyrk.org
Do You Really Know

Quelques Notions de Bash

Publié le 4 juin 2015 par #Ro0t

160280

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 :)