Une question sur la boucle for

Résolu
raygouda Messages postés 69 Date d'inscription   Statut Membre Dernière intervention   -  
raygouda Messages postés 69 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour, à tous
Voici un code que je viens de voir sur le net:
#!/bin/sh
#Fichier "liste"
for element in *
     do echo "$element"
done


Ce code affiche les noms des fichiers du répertoire courant un par ligne.

Mon problème est de savoir:
1- quel est la signification de * dans la boucle for?
2-#Fichier "liste" c'est un commentaire ou sa un sens dans le programme?

Merci.



A voir également:

1 réponse

Utilisateur anonyme
 
salut,

* n'est pas spécifique à la boucle for.
on obtiendrait le même résultat avec
printf '%s\n' *
* est un caractère spécial qui correspond à plusieurs caractères, ou aucun.
alors que ? correspond à un seul caractère.

Attention, si le répertoire est vide, le caractère spécial sera affiché littéralement.

Ce comportement peut être inhibé dans bash en mettant sur 'on' l'option 'nullglob' avec 'shopt'.

Dans ksh?


# introduit un commentaire.
0
zipe31 Messages postés 36402 Date d'inscription   Statut Contributeur Dernière intervention   6 430
 
Salut,

* est un caractère spécial qui correspond à plusieurs caractères, ou aucun.
alors que ? correspond à un seul caractère.

Pour être exact, l'astérisque (*) correspond à aucun, un ou plusieurs caractères. :-))
0
raygouda Messages postés 69 Date d'inscription   Statut Membre Dernière intervention   1
 
merci
0