Boucle for
Joey5
Messages postés
8
Date d'inscription
Statut
Membre
Dernière intervention
-
jipicy Messages postés 40842 Date d'inscription Statut Modérateur Dernière intervention -
jipicy Messages postés 40842 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
J'ai absolument besoin de votre aide ! Je dois faire un programme tout simple en shell pour lundi mais ça ne marche pas.
Par exemple, si je fais une boucle for dans mon programme ça ne lui convient jamais. Avec ce code :
for i in `ls repertoire/`
do
echo $i
done
il me sort : "erreur de syntaxe près du jeton echo inattendu"
Je pense quand même savoir faire des boucles for ! Mince alors !
Vous avez une idée ?
J'ai absolument besoin de votre aide ! Je dois faire un programme tout simple en shell pour lundi mais ça ne marche pas.
Par exemple, si je fais une boucle for dans mon programme ça ne lui convient jamais. Avec ce code :
for i in `ls repertoire/`
do
echo $i
done
il me sort : "erreur de syntaxe près du jeton echo inattendu"
Je pense quand même savoir faire des boucles for ! Mince alors !
Vous avez une idée ?
A voir également:
- Boucle for
- Downloader for pc - Télécharger - Téléchargement & Transfert
- Idm for mac - Télécharger - Téléchargement & Transfert
- Copytrans heic for windows - Télécharger - Visionnage & Diaporama
- Instagram for pc - Télécharger - Divers Communication
- Microsoft store download for pc - Guide
22 réponses
Oui voilà mon shell :
ordijo@ordijo-laptop:~/stage/moulinette$ cat script.sh
#!/bin/bash
for i in $(ls File) do
echo $i
doneordijo@ordijo-laptop:~/stage/moulinette$
C'est bien ça que tu veux ?
J'ai essayé avec l'autre commande ms c pareil !
ordijo@ordijo-laptop:~/stage/moulinette$ cat script.sh
#!/bin/bash
for i in $(ls File) do
echo $i
doneordijo@ordijo-laptop:~/stage/moulinette$
C'est bien ça que tu veux ?
J'ai essayé avec l'autre commande ms c pareil !
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Faut faire comme ça :
for i in $(ls File)
do
echo $i
done
Chaque mot clé sur une ligne différente donc sépare ton do comme j'ai fais d'avec la première ligne et ça devrait être bon.
for i in $(ls File)
do
echo $i
done
Chaque mot clé sur une ligne différente donc sépare ton do comme j'ai fais d'avec la première ligne et ça devrait être bon.
non j'ai le même problème mais là il me dit plus qu'il y a une erreur de syntaxe près du jeton echo mais près du jeton do
Je suis déséperée !
Je suis déséperée !
Re,
alors tape dans une console
alors tape dans une console
for i in $(ls repertoire/);do echo $i;doneet affiche ce que tu vois à l'écran
J'ai tapé ce que tu me dis dans mon terminal et tout se passe bien ! J'ai bien la liste des fichiers qui s'affichent !
En fait, ça ne marche pas quand je le met dans un script shell !
Mon dossier File ne comporte que des fichiers pdf
En fait, ça ne marche pas quand je le met dans un script shell !
Mon dossier File ne comporte que des fichiers pdf
Voilà mon code qui fonctionne :
root@ks362344:~# cat test.sh
#!/bin/sh
for i in `ls ./`
do
echo $i
done
C'est le même exactement.
root@ks362344:~# cat test.sh
#!/bin/sh
for i in `ls ./`
do
echo $i
done
C'est le même exactement.
Re,
chez moi ça marche
chez moi ça marche
#!/bin/bash for i in `ls trash/` do echo $i done
Ben chez moi aussi :
[tmpfs]$ cat foo.sh #! /bin/bash for i in ~jp/tmpfs/* do echo $i done [tmpfs]$ ./foo.sh /home/jp/tmpfs/cleaner.sh /home/jp/tmpfs/enonce_test_1_06-10-2007.pdf /home/jp/tmpfs/foo.sh /home/jp/tmpfs/foo.sh~ /home/jp/tmpfs/wireless_tools.29 /home/jp/tmpfs/wireless_tools.29.tar.gz [tmpfs]$;-)
ça me mat toujours la même erreur
bon sinon grande nouvelle ! Si je met tout le code sur la même ligne avec les séparateurs ; j'ai l'impression que je n'ai plus de problème
c'est génial la prog sans indenter ! huuummmm ! Je sais pas si je vais faire du shell souvent ! lol
bon sinon grande nouvelle ! Si je met tout le code sur la même ligne avec les séparateurs ; j'ai l'impression que je n'ai plus de problème
c'est génial la prog sans indenter ! huuummmm ! Je sais pas si je vais faire du shell souvent ! lol
Je viens de reprendre ton code de début :
#!/bin/bash
for i in $(ls File) do
echo $i
done
j'ai juste descendu le do à la ligne en dessous et ça fonctionne :
#!/bin/bash
for i in $(ls File)
do
echo $i
done
Donc pour moi c'est un mystère.
#!/bin/bash
for i in $(ls File) do
echo $i
done
j'ai juste descendu le do à la ligne en dessous et ça fonctionne :
#!/bin/bash
for i in $(ls File)
do
echo $i
done
Donc pour moi c'est un mystère.
bon ba sans passer à la ligne ça fonctionne !
Pourtant j'ai eu l'habitude de faire du shell sur les ordis de la fac et j'ai jamais rencontré un problème pareil !
Merci quand même pour m'avoir aidé !
Pourtant j'ai eu l'habitude de faire du shell sur les ordis de la fac et j'ai jamais rencontré un problème pareil !
Merci quand même pour m'avoir aidé !