Votre premier script Bash

Introduction à la programmation Bash

Alex Scriven

Data Scientist

Anatomie d'un script Bash

Un script Bash a quelques caractéristiques clés :

  • Il commence généralement par #!/usr/bash (sur sa propre ligne)
    • Ainsi, votre interpréteur sait que c'est un script Bash et d'utiliser Bash situé à /usr/bash
    • Le chemin peut différer si vous avez installé Bash ailleurs, p. ex. /bin/bash (tapez which bash pour vérifier)
  • Les lignes du milieu contiennent le code
    • Ce peut être des commandes ligne par ligne ou des constructions de programmation
Introduction à la programmation Bash

Anatomie d'un script Bash

Pour enregistrer et exécuter :

  • L'extension de fichier est .sh
    • Techniquement inutile si la première ligne contient le « shebang » et le chemin vers Bash (#!/usr/bash), mais c'est l'usage
  • Peut être exécuté dans le terminal avec bash script_name.sh
    • Ou, si vous avez mis la première ligne (#!/usr/bash), vous pouvez simplement exécuter ./script_name.sh
Introduction à la programmation Bash

Exemple de script Bash

Un exemple de script complet (appelé eg.sh) :

#!/usr/bash
echo "Hello world"
echo "Goodbye world"

Peut être exécuté avec la commande ./eg.sh et produira :

Hello world
Goodbye world
Introduction à la programmation Bash

Bash et commandes du shell

Chaque ligne de votre script Bash peut être une commande du shell.

Vous pouvez donc aussi inclure des tuyaux (pipes) dans vos scripts Bash.

Considérez un fichier texte (animals.txt)

magpie, bird
emu, bird
kangaroo, marsupial
wallaby, marsupial
shark, fish

Nous voulons compter les animaux par groupe.

Introduction à la programmation Bash

Bash et commandes du shell

Dans le shell, vous pourriez écrire une commande chaînée dans le terminal. Plaçons-la plutôt dans un script (group.sh) :

#!/usr/bash
cat animals.txt | cut -d " " -f 2 | sort | uniq -c

Maintenant (après avoir enregistré le script), exécuter bash group.sh produit :

   2 bird
   1 fish
   2 marsupial
Introduction à la programmation Bash

Passons à la pratique !

Introduction à la programmation Bash

Preparing Video For Download...