56 lines
1.2 KiB
Bash
Executable File
56 lines
1.2 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Tahiry Razafindralambo
|
|
# modification: Pascal Anelli
|
|
# v1.1 du 2019.06.04
|
|
# v1.2 du 2020.02.07
|
|
# Session 3
|
|
|
|
source ${LIBSH}/libeval.sh
|
|
#----------------------------
|
|
challenge=C34Q1
|
|
#----------------------------
|
|
# 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"
|
|
|
|
err="$(mktemp)"
|
|
fres="$(mktemp)"
|
|
eval $line 1>$fres 2>$err
|
|
|
|
|
|
# 4 le fichier d'erreur doit etre vide
|
|
[ ! -s "$err" ]
|
|
step $(vraifaux $?) "Votre calcul est sans erreur" true
|
|
|
|
# 5 un resultat existe
|
|
[ -s "$fres" ]
|
|
step $(vraifaux $?) "Un resultat a ete produit" true
|
|
|
|
# 6 accuracy
|
|
[ $(cat "$fres") == "22" ]
|
|
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
|
|
|