Il existe de nombreux langages de programmation : des langages compilés comme le C/C++, le Pascal, ...; des langages interprétés (qu'on appelle des scripts) comme Basic, Dos, Bash, Python, Perl, PHP, Java, ... Quelque-soit le langage choisi, il existe des notions fondamentales qui doivent être assimilées :
- les variables : elles permettent d'utiliser des données dont la valeur change au cours de l’exécution
- les boucles : elles permettent de répéter plusieurs fois une partie du programme
- les tests : ils permettent d'orienter le programme de façon conditionnelle
Sites pour apprendre à programmer : developpez.com
Pour écrire des scripts BASH, tu auras besoin d'un éditeur : je te conseille "nano".
Pour créer un fichier test.sh avec l'éditeur "nano" :
Tu enregistreras tes scripts avec un nom du style "test.sh" (l'extension .sh n'est pas obligatoire, mais bien pratique pour reconnaître les scripts)
Pour pouvoir exécuter "test.sh", tu dois le rendre exécutable :
Tu peux ensuite l’exécuter en tapant sur la ligne de commande (attention au '.' avant le '/') :
Dans ce tutoriel, nous utiliserons un langage de scripting très répandu : le BASH qui permet de faire de petits programmes (qu'on appelle des scripts) très rapidement
Ce langage étant présent par défaut dans tous les Linux, tu travailleras sur une machine virtuelle Linux
Note : Note : la
version Windows de Bash s'appelle Winbash
$
#!/bin/bash
a=Toto
b=Bonjour
c=ans
d=3
echo $b $a $d $c
#!/bin/bash
echo vous avez entré les nombres $1 $2 $3
r=$(($1+$2+$3))
echo la somme de ces nombres est égale à $r
La lettre $ désigne un paramètre (aussi appelé variable en mathématique) ; par exemple, si je fixe la valeur de n=10, $n renvoie le nombre 10
Vérifier que vous avez compris en faisant les deux exemples
Note : les
variables s'écrivent différemment dans d'autres langages de
programmation
for ... do ... done
#!/bin/bash
for (( i=1; i<=5; i++ ))
do
echo "Bonjour $i fois"
done
Modifie le "i=1" en "i=3"; teste-le; que constates-tu ?
#!/bin/bash
for file in *; do
printf '%s\n' "$file"
done
#!/bin/bash
cd /etc
for file in *; do
printf '%s\n' "$file"
done
#!/bin/bash
cd $1
for file in *; do
printf '%s\n' "$file"
done
if ... then ... else ... fi
#!/bin/bash
echo -n "Quel est ton age ?"
read a
if [[ $a -gt 17 ]]
then
echo "Tu as $a ans, tu es donc majeur"
else
printf '\n%s\n\n' "Tu es mineur"
fi
Remarque 2 : pour comparer 2 mots (chaines de caractères), on utilise == ; exemple : if [[ $m == "Paris" ]]