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