Mon script est-il juste ?
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 :
- 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).
-afficher les différents compteurs sur des lignes séparées.
Je suis encore novice & j'aimerais donc que quelqu'un puisse me dire si mon script est correct :
Code:
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 |
Merci d'avance de votre aide.