59 lines
1.4 KiB
Plaintext
59 lines
1.4 KiB
Plaintext
|
#!/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' ]
|
||
|
|