#!/bin/bash # Tahiry Razafindralambo # v1.0 du 2019.05.30 # Session 3 source ${LIBSH}/libeval.sh #-------------- challenge=C34Q2 #-------------- # Debut banniere $challenge readline # 1 doit contenir la commande expr [ $(echo "$line" | grep -c 'expr') -ne 0 ] step $(vraifaux $?) "Votre commande contient la commande expr" true # 2 doit contenir un + [ $(echo "$line" | grep -c "+") -ne 0 ] step $(vraifaux $?) "Il y a un operateur d'addition" # 3 doit contenir un * [ $(echo "$line" | grep -c "*") -ne 0 ] step $(vraifaux $?) "Il y a un operateur de multiplication" # 4 doit contenir un ) [ $(echo "$line" | grep -c ")") -ne 0 ] step $(vraifaux $?) "Il y a un operateur de parenthese" # 5 doit contenir un / [ $(echo "$line" | grep -c "/") -ne 0 ] step $(vraifaux $?) "Il y a un operateur de division" err="$(mktemp)" fres="$(mktemp)" eval $line 1>$fres 2>$err # 6 le fichier d'erreur doit etre vide [ ! -s "$err" ] step $(vraifaux $?) "Votre calcul ne produit pas d'erreur" true # 7 un resultat existe [ -s "$fres" ] step $(vraifaux $?) "Un resultat a ete produit" true # 8 accuracy [ $(cat "$fres") == "132" ] step $(vraifaux $?) "Le resultat est juste" echo -e "\n Le resultat de votre calcul est: $(cat "$fres") \n" #-------------------------------- # Fin status "${challenge}_$res" rm -f "$fres" "$err" exit 0