Outils pour utilisateurs

Outils du site


td_-_scripts_bash

Ceci est une ancienne révision du document !


Scripts BASH

L'objectif de ce TD est de vous familiariser avec l'écriture de Scripts bash.

Quelques Rappels

bash est un shell de commandes permettant l'interaction de l'utilisateur avec le système d'exploitation. Ce langage de commandes, outre cette interactivité, permet d'automatiser des tâches. Ainsi, il dispose de certaines caractéristiques des langages de programmation plus « classiques », comme la manipulation de variables - cependant rudimentaire - le conditionnement de blocs d'instruction, la répétition, etc. Quelques éléments de rappel :

  • Un bash-script est un fichier texte/source contenant une succession de commandes bash
  • Toute commande « valide » dans le terminal l'est également au sein d'un bash-script
  • Un passage à la ligne au sein d'un bash-script correspond à la validation dans le terminal
  • un bash-script débute toujours par : #!/bin/bash (c'est le shebang)

Q.1 - Hello World

Ecrire le bash-script correspondant au classique « hello world »

Q.2 - Création de fichiers et redirection de STDOUT

Ecrire un shell-script, créant dans le dossier courant s'il n'existe pas déjà, un répertoire dont le nom est passé en premier argument. Il créera dans ce dossier 10 fichiers nommés « Un » à « Dix » contenant respectivement « file Un » à « file Dix »

Q.3 - Instruction conditionnelle

Ecrire un shell-script admettant 2 nombres en paramètres et affichant le plus grand des deux.

Q.4 - Ai-je un mail ?

Les mails s'accumulent au sein d'un spooler au nom de l'utilisateur. Ainsi, un nouveau mail arrivant pour $USER sera habituellement déposé par le système dans le dossier /var/spool/mail/$USER. Ecrire un bash-script qui vérifie s'il y a du courrier pour un utilisateur dont le nom sera passé en argument.

Voir la section 'conditional expressions' de la BASH refcard

Pour résultat, on affichera sur la sortie standard un des messages suivants :

         Pas de courrier pour <user>.
         Courrier du jour pour <user>.
         Courrier en retard pour <user>.

Q.5 - Boucles et table de multiplications

Ecrire un script nommé table.sh permettant l'affichage des p premières lignes de la table de multiplication d'un nombre n. p et n sont passés en paramètre.

td_-_scripts_bash.1547733593.txt.gz · Dernière modification : 2019/01/17 13:59 de gilles