This is an old revision of the document!
Le devoir est individuel. Toute tentative de copier entraînera 0p pour les devoirs. On utilisera un système automatisé pour détecter le copiage. Si on a des doutes, on va vous adresser des questions supplémentaires concernant le devoir.
Si vous avez des questions concernant le devoir, posez-les en publiant un issue sur le github https://github.com/UPB-FILS-SdE2/questions avec le format [busybox] <le titre de votre question>
Si vous voulez recevoir un e-mail lorsque des problèmes sont signalés ou lorsqu'il y a de nouveaux messages, accédez au site github repository et cliquez sur Watch.
Pour résoudre le devoir, vous allez réaliser un script de Python qui reçoit comme arguments la commande qu'on désire d'exécuter. L'exécutable va afficher un prompt qui a la forme cmd:
, qui va recevra une commande suivie des paramètres. Appuyez sur la touche ENTER pour marquer la fin de la commande. Après chaque commande, le program va afficher le résultat, si c'est le cas, après quoi il attendra une autre commande. Le programme terminera son exécution en recevant la commande exit
ou quit
.
Exemple:
cmd: ls test.py my_file my_file2 cmd: echo test test cmd: exit
En ce qui suit, on va définir les commandes supportées par l'utilitaire, ainsi que le comportement caractéristique et les paramètres acceptés. Pour toute autre commande ou pour un format différent, le script va afficher le message Invalid command
Si la commande reçue par l'utilitaire a été exécutée avec succès, il affichera les informations mentionnées dans la description, si c'est le cas. Sinon, un message d'erreur spécifique, mentionné dans la description de la commande, sera affiché. Sauf indication contraire, le message affiché à l'écran sera suivi de NEWLINE et l'invite sera affichée sur la ligne suivante.
Les commandes supportées par l'application mini-busybox sont:
Ensuite, on va definir les commandes prises en charge par l'utilitaire, ainsi que le comportement caractéristique et les paramètres qu'elles prennent en charge. Pour autre commande ou format, le script affichera le message Invalid command.
Si la commande reçue par l'utilitaire a été exécutée avec succès, il affichera les informations mentionnées dans la description, si c'est le cas. Sinon, un message d'erreur spécifique sera affiché, mentionné dans la description de la commande. Sauf indication contraire, le message affiché à l'écran sera suivi de NEWLINE et le prompt sera affichée sur la ligne suivante.