Loading...
17.04.06

BDSH (Tech 2)

Description du projet :

Il s’agit d’écrire un script Shell émulant les fonctionnalités simples d’une base de données contenue dans un unique fichier « sh.db » dont on pourra éventuellement passer le nom en paramètre grâce à l’option `-f’. Ce premier projet des étudiants de deuxième année leur permet de revoir la programmation Shell tout en ayant un aperçu des bases de données.

Le synopsis du programme est :

bdsh.sh [-k] [-f ] (put ( | $) ( | $) | del ( | $) [ | $] | select [ | $] | flush)

Les paramètres du script sont les suivants:

  • put – Ajoute une clef contenant la valeur. Si la clef existe déjà, la valeur est écrasée.
  • del – Efface la clef. Si la valeur est omise, la clef reste présente sans contenu. Si la clef n’existe pas ou si la valeur ne correspond pas à celle de la clef, il ne se passe rien.
  • flush – Vide toutes les entrées présentes dans la base. Le fichier lui même n’est pas supprimé.
  • select – Permet d’afficher les valeurs dont les clefs « matchent », ou toutes les valeurs si aucun paramètre n’est passé. C’est le matching de la commande grep qui est utilisé. On utilise pour l’affichage l’ordre du fichier, qui est l’ordre chronologique d’insertion ou de modification.

Exemple :

./bdsh put key1 val1 ./bdsh put key2 '$key1' ./bdsh put '$key2' key1 ./bdsh select "ey" val1 val1 ./bdsh select "1" val1 key1 ./bdsh select '$key2' key1 ./bdsh select '[2-9]$' val1 

Un serveur BDSH indique les fonctions autorisées.
Le BDSH commence obligatoirement par la ligne « #!/bin/sh ». Pas de tcsh, ksh, csh ou toute autre forme de shell (même de tek1) ou d’exécutable.

En bonus, les élèves de deuxième année peuvent réaliser les options suivantes :

  • reprogrammer cut en shellscript (et ne plus utiliser la commande cut …),
  • stocker la base de données dans le programme lui-même,
  • crypter les données en Shell…
Scroll to top