First page Back Continue Last page Overview Graphics
Un mécanisme d'annulation (1)
Certaines commandes Linux modifient leur environnement, comme les commandes rm, cp ou mv pour ne citer que les plus courantes. Il serait utile de disposer d'un mécanisme d'annulation de l'exécution d'une telle commande qui permette de revenir à l'état initial (d'avant l'exécution de la commande). Le but de ce mini-projet est de réaliser un ensemble de commandes pour gérer l'annulation de certaines commandes.
Le principe d'annulation proposé repose sur une commande très particulière, la commande undo. Par exemple, si on veut pouvoir annuler l'effet de la commande mv xxx yyy , il faut que la commande mv elle-même produise avant de s'exécuter la commande annulante mv yyy xxx . La commande annulante peut être placée toujours dans le même script, la commande undo ! Ainsi, les effets de la commande mv xxx yyy peuvent être annulés par la commande mv yyy xxx , à condition que le fichier yyy n'existe pas au moment de l'exécution de la commande mv. Dans le cas contraire, le commande mv doit effectuer en premier une sauvegarde du fichier yyy, par exemple avec mv yyy /tmp/yyy , et les commandes annulantes (placées dans le script undo) deviennent mv yyy xxx suivie de mv /tmp/yyy yyy. Pour résumer, on dira que c'est la commande à (éventuellement) annuler qui, connaissant ses paramètres, est à même de produire les commandes suceptibles d'annuler ses effets !