Précédent   Forum des professionnels en informatique > Systèmes > Linux > Applications > Shell
Shell Vos questions sur l'utilisation des commandes shell
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 17/08/2011, 11h26   #1
Futur Membre du Club
 
Homme David Lemaire
Etudiant
Inscription : juillet 2011
Messages : 10
Détails du profil
Informations personnelles :
Nom : Homme David Lemaire
Localisation : France

Informations professionnelles :
Activité : Etudiant

Informations forums :
Inscription : juillet 2011
Messages : 10
Points : 15
Points : 15
Par défaut Tableau (dynamique ?) en bash

Bonjour,

J'ai un petit problème pour initialiser et remplir mon tableau. Et après avoir écumer toute ma connaissance sur bash (qui n'est pas très grande ) et les nombreux forums, impossible de trouver ma solution...
Voilà mon code :

Citation:
listFichier=()
i=0
continu="y"

while [ "$continu" = "y" ]; do
read -p "nouveau fichier à vérifier" fichier
listFichier[$i] = $fichier
i=(($i+1))
read -p "voulez vous rajoute un fichier ? (y/n)" -n 1 continu
done
J'obtiens comme erreur, ceci
Citation:
listFichier[0]: command not found
Au départ, je ne sais pas combien de fichier vont être rajouter. Donc le tableau peut être nul, avoir 1, 2 ... n éléments

Par la suite je réutilise toute les valeurs du tableau (sauf s'il est vide) pour les mettre dans un fichier et procédés à un scan.

Avant (malheureusement, j'ai écrasé ce que j'ai fait ) Seulement le dernier fichier saisie été enregistré. J'ai essayé de réparer et de faire en sorte que ça marche, mais impossible (et je n'arrive pas non plus à revenir en arrière )

Si une bonne âme pouvait me venir en aide
kanadianDri3 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 17/08/2011, 11h51   #2
Expert Confirmé
 
Inscription : janvier 2011
Messages : 970
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : janvier 2011
Messages : 970
Points : 2 871
Points : 2 871
Salut,

Pas d'espace autour du signe égale pour la déclaration d'une variable

La syntaxe pour l'incrémentation de ta variable compteur est fausse, utilise plutôt "((i++))".

Code :
1
2
3
4
5
6
7
8
9
10
11
listFichier=()
i=0
continu="y"

while [ "$continu" = "y" ]; do
read -p "nouveau fichier à vérifier : " fichier
listFichier[$i]=$fichier
((i++))
read -p "voulez vous rajoute un fichier ? (y/n) : " -n 1 continu
echo
done
__________________
$ man woman
Il n'y a pas de page de manuel pour woman.
zipe31 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 17/08/2011, 12h15   #3
Futur Membre du Club
 
Homme David Lemaire
Etudiant
Inscription : juillet 2011
Messages : 10
Détails du profil
Informations personnelles :
Nom : Homme David Lemaire
Localisation : France

Informations professionnelles :
Activité : Etudiant

Informations forums :
Inscription : juillet 2011
Messages : 10
Points : 15
Points : 15
Merci

Maintenant que je m'en rend compte c'était une erreur très bête
kanadianDri3 est déconnecté   Envoyer un message privé Réponse avec citation 10
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h52.


 
 
 
 
Partenaires

Hébergement Web