59 lines
1.4 KiB
Bash
Executable File
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' ]
|
|
|