Bonjour,
je dois écrire un script Bash qui prend facultativement deux arguments : un répertoire & une extension (par exemple sh).
Le script doit :
-vérifier le nombre d’arguments (0 ou 2) et, s’il est 0 demander à l’utilisateur de les saisir ; ils seront nommés dans le script respectivement rep et ext ;
-vérifier que $rep existe et qu’il soit bien un répertoire, sinon sortir ;
-utiliser une boucle de type for pour compter dans le répertoire $rep :
-afficher les différents compteurs sur des lignes séparées.
- les fichiers de type répertoire (fr) ;
- les fichiers ordinaires (fo) ;
- les fichiers d’extension $ext (fe) & parmi eux ceux qui sont exécutables (fex).
Je suis encore novice & j'aimerais donc que quelqu'un puisse me dire si mon script est correct :
Merci d'avance de votre aide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37 #! /bin/bash # nbfichiers.sh if (( $# = 0 ));then read rep read ext else rep=$1 ext=$2 if [ ! -d "$rep" ];then exit 1 fr=0 for i in $rep do if [ -d "${rep[i]}" ]; then ((fr+=1)) fo=0 for i in $rep do if [ -f "${rep[i]}" ]; then ((fo+=1)) fe=0 fex=0 for i in $rep do if [ -d "${rep[i]}" ]; then if [ -x "${rep[i]}" ] && [ "${$ext##*.}" = "$ext" ]; then ((fex+=1)) ((fe+=1)) echo $fo echo $fe echo $fex
Partager