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
 | |
| 
 | 
