Rechercher : dans
Par :

Que signifie "while read" en shell?

Dernière réponse le 2 sep 2004 à 22:28:07 Yakurena, le 2 sep 2004 à 20:09:57 
 Signaler ce message aux modérateurs

Bonsoir,
dans un shell,la commande read sert à mettre les paramètres de la ligne de commande dans les variables indiquées.
Est-ce pareil pour la commande while read?
Par exemple,que fait le programme suivant :
while read a ;
do
echo "$a"
done

Merci d'avance.

Meilleures réponses pour « Que signifie "while read" en shell? » dans :
Comment lire un fichier ligne par ligne VoirComment lire un fichier ligne par ligne Préambule Boucle while Syntaxe Exemple Astuces Bonus Boucle for Syntaxe Préambule Une des erreurs les plus communes dans l'apprentissage des scripts "bash" sous GNU/LInux pour lire un fichier...
Guide d'utilisation du Shell pour débutant VoirSHELL BASH - GUIDE D'UTILISATION - Niveau Débutant Introduction Appel aux membres CCM II. C'est quoi le shell ? III. Comment accéder à la ligne de commande IV. Les consoles virtuelles Exemple : Accéder à la console 3 depuis l'interface...
L'adresse mémoire ne peut pas être 'Read' ou 'Written' VoirL'adresse mémoire ne peut pas être 'Read' ou 'Written' Vérifier le fonctionnement des barrettes mémoire Vérifier la présence de malwares et le cas échéant, les éradiquer Vérifier la configuration de Windows Nettoyer le disque dur Réparer...
Systèmes UNIX - Le shell VoirIntroduction au shell L'interpréteur de commandes est l'interface entre l'utilisateur et le système d'exploitation, d'où son nom anglais «shell», qui signifie «coquille». Le shell est ainsi chargé de faire l'intermédiaire entre le système...
Linux - Le shell VoirIntroduction au shell L'interpréteur de commandes est l'interface entre l'utilisateur et le système d'exploitation, d'où son nom anglais «shell», qui signifie «coquille». Le shell est ainsi chargé de faire l'intermédiaire le système...
Lsass - Lsass.exe - LSA shell VoirLsass - Lsass.exe Le processus Lsass.exe (LSASS signifiant Local Security Authority Subsystem Service) est un processus système natif de Windows 2000/XP gérant les mécanismes de sécurité locale et d'authentification des utilisateurs via le...

1

Ravachol, le 2 sep 2004 à 21:15:07

Salut.
Le while effectuera echo "$a" tant que read renvoi null ce qui est le cas jusqu'a ce qu'il rencontre une fin de fichier ou appui sur la touche 'Entrer'

Edit : Petite boulette, ce n'est pas la touche 'Entrer' mais 'Ctrl + d' qui simule la fin de fichier.

A++

La pensée ne commence qu'avec le doute.
ROGER MARTIN DU GARD

Répondre à Ravachol

2

Yakurena, le 2 sep 2004 à 21:32:39

Mais comment sera sélectionné le fichier qui sera visité?Le nom du fichier est-il en ligne de commande?

Répondre à Yakurena

3

Ravachol, le 2 sep 2004 à 21:45:59

Non c'est l'entrée standard soit le clavier le plus souvent.

La pensée ne commence qu'avec le doute.
ROGER MARTIN DU GARD

Répondre à Ravachol

4

Yakurena, le 2 sep 2004 à 21:49:02

Et que représente la variable a? Une ligne du fichier?

Répondre à Yakurena

5

Ravachol, le 2 sep 2004 à 21:50:56

Elle represente tout ce que tu as saisi au clavier jusqu'a l'appui sur la touche 'Entrée'.

La pensée ne commence qu'avec le doute.
ROGER MARTIN DU GARD

Répondre à Ravachol

6

Yakurena, le 2 sep 2004 à 22:15:15

Alors,en supposant que j'entre un nom de fichier au clavier,le programme que j'ai mis plus haut affiche une ligne de ce fichier à chaque tour,c'est ça?

Répondre à Yakurena

7

 Ravachol, le 2 sep 2004 à 22:28:07

Ben non, ça va juste t'afficher le non du fichier que tu as saisi. Read ne fais que lire sur l'entrée standard.
Voici un exemple de comportement de ton script :
je saisis azerty + la touche entrée
Il affiche azerty
Je saisis tartampion + la touche entrée
Il affiche tartampion
J'appui sur Ctrl+d
Le script sort de la boucle while et il ce termine.

Maintenant ce script ne représentant pas un grand danger tu peux l'écrire et le tester par toi même ce sera plus simple je pense ;-)

A++

La pensée ne commence qu'avec le doute.
ROGER MARTIN DU GARD

Répondre à Ravachol
Collection CommentÇaMarche.net