mooc/filesystem/usr/evalp1/evalQ442

59 lines
1.4 KiB
Bash
Executable File

#!/bin/bash
#xcrypted
# Auteur: Pascal Anelli
# date 21 Decembre 2022
# Session 4
source ${LIBSH}/libeval.sh
#-----------------------------------------
rep=~/Sequence4/A44
challenge=C44Q2
scriptname=reverse.sh
exo=$rep/$scriptname
#---------------------------------
# Debut
firstcheck
# 1 working
$exo 10 40 &>/dev/null
step $(vraifaux $?) "Le script fonctionne " true
# 2 display reverse order
output=$($exo 1 2 3 4 2>/dev/null)
#output: 4 3 2 1
[ "${output%% }" == '4 3 2 1' ]
step $(vraifaux $?) "Le resultat est affiche dans le bon ordre "
# 3 le cas du mot avec espace
output=$($exo 1 2 "3 4" 2>/dev/null)
[ "${output%% }" == '3 4 2 1' ]
step $(vraifaux $?) "Le cas des mots avec une espace est pris en compte "
# 4 utilisation du for
grep -q -e "^[[:blank:]]*for[[:blank:]]*" $exo 2>/dev/null
step $(vraifaux $?) "Le script utilise une boucle for "
#==================
# check argument
# 5 the number of argument
$exo &>/dev/null
[ $? -eq 1 ]
step $(vraifaux $?) "Le script retourne le code 1 en cas d'absence d'argument"
# 6 display Usage
$exo 2>&1 | grep -q -i Usage
step $(vraifaux $?) "Le script affiche l'usage en cas d'absence d'argument "
#-------------------------------------
# Fin
status "${challenge}_$res"
exit 0
# listcode = [ '000', '144', '59a', 'e90', '3fb', 'd8a', '22e' ]