Boucle for
Fermé
Joey5
Messages postés
8
Date d'inscription
samedi 27 septembre 2008
Statut
Membre
Dernière intervention
27 septembre 2008
-
27 sept. 2008 à 15:12
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 - 27 sept. 2008 à 16:16
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 - 27 sept. 2008 à 16:16
A voir également:
- Boucle for
- Downloader for pc - Télécharger - Téléchargement & Transfert
- Copytrans heic for windows - Télécharger - Visionnage & Diaporama
- Idm for mac - Télécharger - Téléchargement & Transfert
- Download instagram for pc - Télécharger - Divers Communication
- Whatsapp for pc - Télécharger - Messagerie
22 réponses
arth
Messages postés
9374
Date d'inscription
mardi 27 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2016
1 292
27 sept. 2008 à 15:15
27 sept. 2008 à 15:15
'Jour,
Tu peux nous coller directement ton terminal ici? avec ton code source dedans?
Merki :)
Tu peux nous coller directement ton terminal ici? avec ton code source dedans?
Merki :)
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
27 sept. 2008 à 15:16
27 sept. 2008 à 15:16
Salut,
essaie
essaie
for i in $(ls repertoire) do echo $i done
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
27 sept. 2008 à 15:17
27 sept. 2008 à 15:17
Salut,
for i in repertoire/* do echo $i done;-))
Joey5
Messages postés
8
Date d'inscription
samedi 27 septembre 2008
Statut
Membre
Dernière intervention
27 septembre 2008
27 sept. 2008 à 15:24
27 sept. 2008 à 15:24
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
arth
Messages postés
9374
Date d'inscription
mardi 27 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2016
1 292
27 sept. 2008 à 15:26
27 sept. 2008 à 15:26
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.
Joey5
Messages postés
8
Date d'inscription
samedi 27 septembre 2008
Statut
Membre
Dernière intervention
27 septembre 2008
27 sept. 2008 à 15:29
27 sept. 2008 à 15:29
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 !
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
27 sept. 2008 à 15:29
27 sept. 2008 à 15:29
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
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
27 sept. 2008 à 15:29
27 sept. 2008 à 15:29
On peut voir le contenu du répertoire File ?
arth
Messages postés
9374
Date d'inscription
mardi 27 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2016
1 292
27 sept. 2008 à 15:31
27 sept. 2008 à 15:31
Ah oui au fait remplace #!/bin/bash par #!/bin/sh ca devrait mieux marcher
Joey5
Messages postés
8
Date d'inscription
samedi 27 septembre 2008
Statut
Membre
Dernière intervention
27 septembre 2008
27 sept. 2008 à 15:32
27 sept. 2008 à 15:32
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
arth
Messages postés
9374
Date d'inscription
mardi 27 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2016
1 292
27 sept. 2008 à 15:33
27 sept. 2008 à 15:33
Regarde ce que je t'ai mis.
Joey5
Messages postés
8
Date d'inscription
samedi 27 septembre 2008
Statut
Membre
Dernière intervention
27 septembre 2008
27 sept. 2008 à 15:33
27 sept. 2008 à 15:33
J'ai déjà essayé avec #!/bin/sh et c'est le même résultat !
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
27 sept. 2008 à 15:34
27 sept. 2008 à 15:34
Est-ce que ton répertoire File est bien dans le même répertoire d'où tu lances ton script ?
Joey5
Messages postés
8
Date d'inscription
samedi 27 septembre 2008
Statut
Membre
Dernière intervention
27 septembre 2008
27 sept. 2008 à 15:34
27 sept. 2008 à 15:34
oui oui tout à fait
arth
Messages postés
9374
Date d'inscription
mardi 27 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2016
1 292
27 sept. 2008 à 15:36
27 sept. 2008 à 15:36
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.
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
27 sept. 2008 à 15:37
27 sept. 2008 à 15:37
Re,
chez moi ça marche
chez moi ça marche
#!/bin/bash for i in `ls trash/` do echo $i done
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
27 sept. 2008 à 15:42
27 sept. 2008 à 15:42
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]$;-)
arth
Messages postés
9374
Date d'inscription
mardi 27 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2016
1 292
>
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
27 sept. 2008 à 15:43
27 sept. 2008 à 15:43
Il a un linux vivant !! il a un linux vivant !!
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
27 sept. 2008 à 15:37
27 sept. 2008 à 15:37
Essaie
sh -vx ton_script.sh
Joey5
Messages postés
8
Date d'inscription
samedi 27 septembre 2008
Statut
Membre
Dernière intervention
27 septembre 2008
27 sept. 2008 à 15:44
27 sept. 2008 à 15:44
ç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
arth
Messages postés
9374
Date d'inscription
mardi 27 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2016
1 292
27 sept. 2008 à 15:47
27 sept. 2008 à 15:47
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.
Joey5
Messages postés
8
Date d'inscription
samedi 27 septembre 2008
Statut
Membre
Dernière intervention
27 septembre 2008
27 sept. 2008 à 15:54
27 sept. 2008 à 15:54
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é !
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
27 sept. 2008 à 15:56
27 sept. 2008 à 15:56
Tu peux coller ton script sur Cjoint s'il te plait, merci ;-))