Tableaux en shell
Résolu/Fermé
Alucard95
Messages postés
157
Date d'inscription
mardi 7 octobre 2008
Statut
Membre
Dernière intervention
19 juin 2009
-
16 oct. 2008 à 10:54
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 - 16 oct. 2008 à 15:13
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 - 16 oct. 2008 à 15:13
A voir également:
- Tableaux en shell
- Tableaux croisés dynamiques - Guide
- Classic shell windows 10 français - Télécharger - Personnalisation
- Fusionner deux tableaux excel - Guide
- Le fichier contient un tableau présentant un extrait des livres les plus prêtés à paris en 2016. filtrez le tableau pour ne faire apparaître que les bandes dessinées ado. puis filtrez le tableau pour ne faire apparaître que celles dont l'auteur est zep. quel est le titre de la bande dessinée ado de zep qui a été la plus prêtée d'après ce tableau ? ✓ - Forum Windows 10
- Citez un des logiciels lui permettant de faire des calculs sur des tableaux de nombres (tableur). ✓ - Forum Logiciels
17 réponses
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 895
16 oct. 2008 à 11:19
16 oct. 2008 à 11:19
Salut,
jp@MDK:~/tmpfs ssh$ touch fich{1,2,3,4,5}.txt jp@MDK:~/tmpfs ssh$ ls fich1.txt fich2.txt fich3.txt fich4.txt fich5.txt jp@MDK:~/tmpfs ssh$ tableau=( $(ls) ) jp@MDK:~/tmpfs ssh$ echo ${tableau[0]} fich1.txt jp@MDK:~/tmpfs ssh$ echo ${tableau[2]} fich3.txt jp@MDK:~/tmpfs ssh$ echo ${tableau[@]} fich1.txt fich2.txt fich3.txt fich4.txt fich5.txt jp@MDK:~/tmpfs ssh$;-))
Alucard95
Messages postés
157
Date d'inscription
mardi 7 octobre 2008
Statut
Membre
Dernière intervention
19 juin 2009
2
16 oct. 2008 à 11:27
16 oct. 2008 à 11:27
Lorsque je fais :
$ echo ${tableau[0]}
j'obtiens :
Bad substitution
par contre si je fais :
$ echo $tableau[0]
j'obtiens :
fich1.txt fich2.txt fich3.txt fich4.txt fich5.txt
faut-il faire quelque chose au préalable pour que mon tableau se remplisse convenablement??
$ echo ${tableau[0]}
j'obtiens :
Bad substitution
par contre si je fais :
$ echo $tableau[0]
j'obtiens :
fich1.txt fich2.txt fich3.txt fich4.txt fich5.txt
faut-il faire quelque chose au préalable pour que mon tableau se remplisse convenablement??
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 895
16 oct. 2008 à 11:30
16 oct. 2008 à 11:30
Quel shell ?
Quel système ?
Quel système ?
Alucard95
Messages postés
157
Date d'inscription
mardi 7 octobre 2008
Statut
Membre
Dernière intervention
19 juin 2009
2
16 oct. 2008 à 11:32
16 oct. 2008 à 11:32
Je suis sous ubuntu 8.04 et mon script porte l'extension .sh
En tout cas, merci de m'aider ;)
En tout cas, merci de m'aider ;)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 895
16 oct. 2008 à 11:36
16 oct. 2008 à 11:36
Comment as-tu déclaré ton tableau ?
Comme dans mon exemple ?
Attention il faut un espace de part et d'autre des parenthèses dans :
Comme dans mon exemple ?
Attention il faut un espace de part et d'autre des parenthèses dans :
tableau=( $(ls) )
Alucard95
Messages postés
157
Date d'inscription
mardi 7 octobre 2008
Statut
Membre
Dernière intervention
19 juin 2009
2
16 oct. 2008 à 11:41
16 oct. 2008 à 11:41
pour tableau=( $(ls) )
Au debut je les avais bien mises mais ça me fait cette erreur :
Syntax error: "(" unexpected
Donc par la suite j'ai utilisé cette syntaxe :
tableau=$(ls)
mais je pense que c'est la raison de l'erreur Bad substitution
Au debut je les avais bien mises mais ça me fait cette erreur :
Syntax error: "(" unexpected
Donc par la suite j'ai utilisé cette syntaxe :
tableau=$(ls)
mais je pense que c'est la raison de l'erreur Bad substitution
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 895
16 oct. 2008 à 12:25
16 oct. 2008 à 12:25
Rajoute des quotes autour :
tableau="( $(ls) )"
tableau="( $(ls) )"
Alucard95
Messages postés
157
Date d'inscription
mardi 7 octobre 2008
Statut
Membre
Dernière intervention
19 juin 2009
2
16 oct. 2008 à 13:06
16 oct. 2008 à 13:06
J'ai bien mis les guillemets mais j'ai toujours l'erreur bad substitution à la ligne
echo ${tableau[0]}
pareil si je l'écrit
echo "${tableau[0]} "
ou comme ça
echo "(${tableau[0]} )"
echo ${tableau[0]}
pareil si je l'écrit
echo "${tableau[0]} "
ou comme ça
echo "(${tableau[0]} )"
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 895
16 oct. 2008 à 13:11
16 oct. 2008 à 13:11
Essaie de reproduire ça :
jp@MDK:~/tmpfs ssh$ tableau=( A B C D E ) jp@MDK:~/tmpfs ssh$ echo ${tableau[@]} A B C D E jp@MDK:~/tmpfs ssh$ echo ${tableau[*]} A B C D E jp@MDK:~/tmpfs ssh$ echo ${tableau[0]} A jp@MDK:~/tmpfs ssh$ echo ${tableau[1]} B jp@MDK:~/tmpfs ssh$ echo ${tableau[4]} E jp@MDK:~/tmpfs ssh$
Alucard95
Messages postés
157
Date d'inscription
mardi 7 octobre 2008
Statut
Membre
Dernière intervention
19 juin 2009
2
16 oct. 2008 à 13:19
16 oct. 2008 à 13:19
Il y a un truc que je pige pas, si je le fais directement dans mon terminal cela fonctionne bien.
Par contre si je le fais en exécutant mon script : sh mon_script.sh j'ai une erreur.
Par contre si je le fais en exécutant mon script : sh mon_script.sh j'ai une erreur.
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 895
16 oct. 2008 à 13:21
16 oct. 2008 à 13:21
Affiche ton script alors...
Alucard95
Messages postés
157
Date d'inscription
mardi 7 octobre 2008
Statut
Membre
Dernière intervention
19 juin 2009
2
16 oct. 2008 à 13:29
16 oct. 2008 à 13:29
Bah le truc c'est que j'ai fait des copier coller de mon script dans le terminal mais le voila :
#! /bin/sh
tableau=( A B C D E )
echo ${tableau[1]}
#! /bin/sh
tableau=( A B C D E )
echo ${tableau[1]}
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 895
16 oct. 2008 à 13:32
16 oct. 2008 à 13:32
Affiche un copier/coller du lancement de ton script et de l'erreur générée...
PS. Chez moi ça passe bien ;-\
PS. Chez moi ça passe bien ;-\
Alucard95
Messages postés
157
Date d'inscription
mardi 7 octobre 2008
Statut
Membre
Dernière intervention
19 juin 2009
2
16 oct. 2008 à 13:40
16 oct. 2008 à 13:40
# sh mon_script.sh
mon_script.sh: 3: Syntax error: "(" unexpected
Si j'écris tableau=( A B C D E )
sh mon_script.sh
mon_script.sh: 5: Bad substitution
si je met tableau="( A B C D E )"
toujours avec
echo ${tableau[1]}
mon_script.sh: 3: Syntax error: "(" unexpected
Si j'écris tableau=( A B C D E )
sh mon_script.sh
mon_script.sh: 5: Bad substitution
si je met tableau="( A B C D E )"
toujours avec
echo ${tableau[1]}
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 895
16 oct. 2008 à 13:54
16 oct. 2008 à 13:54
Oublie définitivement cette forme :
tableau="( A B C D E )"
c'est une grosse c*nnerie que j'ai dite :-((
Par contre je ne m'explique pas l'autre erreur :-\
Je n'ai pas trop le temps là, je regarderai ça de plus près ce soir...
tableau="( A B C D E )"
c'est une grosse c*nnerie que j'ai dite :-((
Par contre je ne m'explique pas l'autre erreur :-\
Je n'ai pas trop le temps là, je regarderai ça de plus près ce soir...
Alucard95
Messages postés
157
Date d'inscription
mardi 7 octobre 2008
Statut
Membre
Dernière intervention
19 juin 2009
2
16 oct. 2008 à 13:58
16 oct. 2008 à 13:58
Ok pas de soucis, je vais continuer de chercher et merci pour ton aide
Alucard95
Messages postés
157
Date d'inscription
mardi 7 octobre 2008
Statut
Membre
Dernière intervention
19 juin 2009
2
16 oct. 2008 à 15:07
16 oct. 2008 à 15:07
Soluce trouvé jipicy, mon problème venait du fait que j'utilisait sh pour lancer mon script.
Si j'utilise la commande bash cela fonctionne :)
Merci de ton aide!!
Si j'utilise la commande bash cela fonctionne :)
Merci de ton aide!!
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 895
16 oct. 2008 à 15:13
16 oct. 2008 à 15:13
No problemo ;-)