dimanche 26 septembre 2004

Introduction


INTRODUCTION

Nous allons montrer rapidement la base de Bash afin de pouvoir rapidement commencer à écrire des scripts simples. Nous verrons les concepts présentés plus en détail dans d'autres tutoriels

Commentaire

#Ceci est un commentaire

Variable

#!/bin/bash
nombre=69
chaine="bash"

echo $nombre  #affiche 69
echo $chaine  #affiche bash
69
bash

Condition

#!/bin/bash
os1="linux"
os2="mac"
if [ "$os1" = "$os2" ]; then
 echo "il y a des ressemblances entre ces os"
else
 echo "ces os ne se ressemblent pas"
fi
ces os ne se ressemblent pas

Boucle

Le for est différent des autres langages.
#!/bin/bash
nb="12 13"
for i in $nb; do
  echo item: $i
done
item: 12
item: 13
On va itérer autant de fois qu'il y a d'éléments dans la string.
#!/bin/bash
for i in `seq 1 5`
do
      echo $i
done
1
2
3
4
5
Attention les caractères sont important si vous mettez ' au lieu de ` , vous allez obtenir: seq 1 10
Cette syntaxe permet d'avoir un résultat similaire au langage 10. Les chiffres de 1 à 10 seront affichés.
while
i=0
j=5        
while [ "$i" -lt "$j" ] # tant que i < j
do
  echo "$i"
  i=`expr $i + 1`
done
0
1
2
3
4

#!/bin/bash
i=0
j=5
while [ "$i" -lt "$j" ]
do
  echo "$i"
  i=`expr $i + 1`
done
0
1
2
3
4

#!/bin/bash
i=0
j=5        
while [ "$i" != "$j" ]
do
  echo "$i"
  i=`expr $i + 1`
done
0
1
2
3
4

#!/bin/bash 
FIN=okeefe
until [ "$var1" = "$FIN" ]
do
  echo "($FIN to exit)"
  read var1
done

#!/bin/bash 
COUNTER=15
until [  $COUNTER -lt 10 ];do
   echo COUNTER $COUNTER
   COUNTER=`expr $COUNTER - 1` # peut aussi utiliser: let COUNTER+=1
done
COUNTER 15
COUNTER 14
COUNTER 13
COUNTER 12
COUNTER 11
COUNTER 10
Notez qu'il est possible de mettre le mot: do sur la même ligne que le for, until, while. Il faut alors mettre un ; à la fin de la condition et ensuite on met le do. Cette syntaxe est plus compacte.

case

#!/bin/bash

echo "Appuyer sur une touche et ensuite sur enter."
read Keypress

case "$Keypress" in
  [a-z]   ) echo "Vous avez taper une lettre";;
  [A-Z]   ) echo "Vous avez taper une lettre";;
  [0-9]   ) echo "Vous avez taper un nombre";;
  *       ) echo "Autre";;
esac  
Si vous appuyez sur un chiffre vous obtiendrez
Vous avez tapé un nombre

Fonction

L'utilisation des fonctions est un peu différente sous Windows et Linux.

Windows et Linux

#!/bin/bash 
quit() { 
  echo "allo"
  exit 
}
quit

Linux

#!/bin/bash 
function quit {
  echo "allo" 
  exit 
}
quit

allo
La fonction exit permet de terminer le script.
Vous verrez plus souvent cette dernière syntaxe sous Linux. Nous utiliserons donc la syntaxe de Linux pour le reste des tutoriels.