Quelques Notions de Bash

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

Partagez ce contenu

Laisser une réponse

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *