Parcours du repertoire donnée et de ses contenu

sassoura Messages postés 21 Date d'inscription   Statut Membre Dernière intervention   -  
sassoura Messages postés 21 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

pouvez- vous m'aider svp (merci bien) il ne veut pas m'afficher le contenu

if (test $# -eq 0)
then for i in 'ls'
do
if (test -f $i)
then cat $i
elif (test -d $i)
then ls $i
fi
done
elif (test $# -eq 1)
then for i in 'ls $1'
do
if (test -f $i)
then cat $i
elif (test -d $i)
then ls $i
fi
done
fi

4 réponses

Utilisateur anonyme
 
salut,

Enlève les parenthèses autour des tests (ça crée un sous-shell inutile),
et préfères le développement des chemins (cf. man bash) à l'usage de ls avec une boucle for.
Mets les variables entre guillemets.

Je ne vois pas l'intérêt d'effectuer exactement les mêmes opérations s'il y a un argument au script ou pas.
1
sassoura Messages postés 21 Date d'inscription   Statut Membre Dernière intervention  
 
DZL mais ca ne marche pas ,il y a un probleme au niveau de l'affichage d'un repertoire donnée mais pour le repertoire courant ca marche bien
0
Utilisateur anonyme
 
for f in ${1:+${1/%\/}/}*; do echo "$f"; done

voir man bash / Remplacement des paramètres
0
sassoura Messages postés 21 Date d'inscription   Statut Membre Dernière intervention  
 
ca marche merci bien
0