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 06/09/2011, 17h55   #1
Membre confirmé
 
Inscription : janvier 2007
Messages : 767
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 767
Points : 224
Points : 224
Par défaut bourne shell init de tableau

Bonjour

J'ai besoin en bourne shell d'initialiser une liste ou un tableau, comme celui que l'on recoit de la ligne de comande ?
Je parse ma chaine dans une boucle mais je n'arrive pas a initialiser une variable de type tableau ou liste ?

Merci d'avance
Philippe
pcouas est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 06/09/2011, 18h03   #2
Expert Confirmé Sénior
 
Avatar de N_BaH
 
Inscription : février 2008
Messages : 2 071
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 2 071
Points : 4 154
Points : 4 154
Bonjour,

oui, mais ça n'existe pas en Bourne shell

il faut utiliser au moins BASH.

en gros :
Code bash :
1
2
3
4
5
6
7
array=( elem1 elem2 'elem 3' )
printf '%s\n' "${array[@]}"
elem1
elem2
elem 3
echo "${array[0]}"
elem1
N_BaH est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 06/09/2011, 18h06   #3
Responsable Modération
 
Avatar de ok.Idriss
 
Homme Idriss Neumann
Consultant en SSII et étudiant au CNAM Paris (ingénieur SI)
Inscription : février 2009
Messages : 1 988
Détails du profil
Informations personnelles :
Nom : Homme Idriss Neumann
Âge : 21
Localisation : France, Essonne (Île de France)

Informations professionnelles :
Activité : Consultant en SSII et étudiant au CNAM Paris (ingénieur SI)

Informations forums :
Inscription : février 2009
Messages : 1 988
Points : 6 142
Points : 6 142
Bonjour.

A ma connaissance, le SH d'origine ne gère pas les tableaux nativement. Bash et Ksh par exemple le gèrent. Si une migration est possible, ce serait l'idéal (ce qui est écrit en SH est compatible en règle générale).

Ce serait bien aussi de préciser ton OS et ta version pour savoir si une migration est possible. Par exemple sous Linux, /bin/sh est souvent un lien symbolique vers /bin/bash (ou /bin/dash dans certain cas). Sous d'autres Unix, il faut absolument migrer vers KSH si possible.

Cordialement,
ok.Idriss
ok.Idriss est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 06/09/2011, 20h36   #4
Membre confirmé
 
Inscription : janvier 2007
Messages : 767
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 767
Points : 224
Points : 224
Bonsoir,

Malheureusement mon client utilise bien le Bourne Shell !
et je n'ai pas le pouvoir de le faire changer
pcouas est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 06/09/2011, 21h30   #5
Responsable Modération
 
Avatar de ok.Idriss
 
Homme Idriss Neumann
Consultant en SSII et étudiant au CNAM Paris (ingénieur SI)
Inscription : février 2009
Messages : 1 988
Détails du profil
Informations personnelles :
Nom : Homme Idriss Neumann
Âge : 21
Localisation : France, Essonne (Île de France)

Informations professionnelles :
Activité : Consultant en SSII et étudiant au CNAM Paris (ingénieur SI)

Informations forums :
Inscription : février 2009
Messages : 1 988
Points : 6 142
Points : 6 142
Bonsoir.

Citation:
Envoyé par pcouas Voir le message
Malheureusement mon client utilise bien le Bourne Shell !
Et pour l'OS et sa version c'est indéterminé ?

Idriss
ok.Idriss est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 07/09/2011, 00h30   #6
Expert Confirmé Sénior
 
Avatar de Sve@r
 
Homme Frédéric
Ingénieur développement logiciels
Inscription : février 2006
Messages : 3 055
Détails du profil
Informations personnelles :
Nom : Homme Frédéric
Âge : 44
Localisation : France, Oise (Picardie)

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : février 2006
Messages : 3 055
Points : 4 934
Points : 4 934
Citation:
Envoyé par pcouas Voir le message
Bonjour

J'ai besoin en bourne shell d'initialiser une liste ou un tableau, comme celui que l'on recoit de la ligne de comande ?
Je parse ma chaine dans une boucle mais je n'arrive pas a initialiser une variable de type tableau ou liste ?
Citation:
Envoyé par pcouas Voir le message
Malheureusement mon client utilise bien le Bourne Shell !
et je n'ai pas le pouvoir de le faire changer
Salut

Désolé mais le Bourne Shell ne connait pas les tableaux.
Toutefois, cela peut être simulé. Par exemple tu parses ta chaine. Rien ne t'interdit de faire un "set les éléments parsés". Les éléments seront alors positionnés dans $1, $2, $3, etc...
__________________
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
Tout ce qu'un individu reçoit sans rien faire pour l'obtenir, un autre individu a dû travailler pour le produire sans en tirer profit.
Tout Pouvoir ne peut distribuer aux uns que ce qu'il a préalablement confisqué à d'autres car on n'accroît pas les biens en les divisant.
Quand la moitié d'un peuple croit qu'il ne sert à rien de faire des efforts car l'autre moitié les fera pour elle, et quand cette dernière moitié se dit qu'il ne sert à rien d'en faire car ils bénéficieront à d'autres, cela s'appelle le déclin et la fin d'une nation.
Dr. Adrian Rogers, 1931
Sve@r est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 07/09/2011, 06h04   #7
Membre confirmé
 
Inscription : janvier 2007
Messages : 767
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 767
Points : 224
Points : 224
Bonjour

C'est du Solaris8
pcouas est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 07/09/2011, 21h14   #8
Expert Confirmé Sénior
 
Avatar de Sve@r
 
Homme Frédéric
Ingénieur développement logiciels
Inscription : février 2006
Messages : 3 055
Détails du profil
Informations personnelles :
Nom : Homme Frédéric
Âge : 44
Localisation : France, Oise (Picardie)

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : février 2006
Messages : 3 055
Points : 4 934
Points : 4 934
Citation:
Envoyé par pcouas Voir le message
Bonjour

C'est du Solaris8
Oui merci mais pour un truc aussi basique qu'un tableau en shell, le SE on s'en balance un peu en fait... à moins que ce soit pour nous dire que ton gars est en korn-shell...
__________________
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
Tout ce qu'un individu reçoit sans rien faire pour l'obtenir, un autre individu a dû travailler pour le produire sans en tirer profit.
Tout Pouvoir ne peut distribuer aux uns que ce qu'il a préalablement confisqué à d'autres car on n'accroît pas les biens en les divisant.
Quand la moitié d'un peuple croit qu'il ne sert à rien de faire des efforts car l'autre moitié les fera pour elle, et quand cette dernière moitié se dit qu'il ne sert à rien d'en faire car ils bénéficieront à d'autres, cela s'appelle le déclin et la fin d'une nation.
Dr. Adrian Rogers, 1931
Sve@r est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 07/09/2011, 21h35   #9
Responsable Modération
 
Avatar de ok.Idriss
 
Homme Idriss Neumann
Consultant en SSII et étudiant au CNAM Paris (ingénieur SI)
Inscription : février 2009
Messages : 1 988
Détails du profil
Informations personnelles :
Nom : Homme Idriss Neumann
Âge : 21
Localisation : France, Essonne (Île de France)

Informations professionnelles :
Activité : Consultant en SSII et étudiant au CNAM Paris (ingénieur SI)

Informations forums :
Inscription : février 2009
Messages : 1 988
Points : 6 142
Points : 6 142
Bonsoir.

Citation:
Envoyé par Sve@r Voir le message
Oui merci mais pour un truc aussi basique qu'un tableau en shell, le SE on s'en balance un peu en fait...
J'avais demandé pour voir s'il était sous une version Linux pour laquelle le SH serait un lien symbolique vers bash (dash ne gérant pas les tableaux non plus je crois). Malheureusement non.

Donc comme tu dis soit il bricole avec set et des chaînes, soit il peut essayer de voir s'il peut migrer vers ksh si possible (sachant que ksh est surement présent d'office sur solaris).

Cordialement,
Idriss
ok.Idriss est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 08/09/2011, 22h00   #10
Expert Confirmé Sénior
 
Avatar de Sve@r
 
Homme Frédéric
Ingénieur développement logiciels
Inscription : février 2006
Messages : 3 055
Détails du profil
Informations personnelles :
Nom : Homme Frédéric
Âge : 44
Localisation : France, Oise (Picardie)

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : février 2006
Messages : 3 055
Points : 4 934
Points : 4 934
Citation:
Envoyé par ok.Idriss Voir le message
soit il peut essayer de voir s'il peut migrer vers ksh si possible (sachant que ksh est surement présent d'office sur solaris).
Exact, le ksh est présent en natif sur solaris. Et comme sh est 99,99% compatible ksh, la migration ne devrait vraiment pas poser de pb.
De plus on peut même trouver des trucs gnu pour solaris comme bash si on le désire...
__________________
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
Tout ce qu'un individu reçoit sans rien faire pour l'obtenir, un autre individu a dû travailler pour le produire sans en tirer profit.
Tout Pouvoir ne peut distribuer aux uns que ce qu'il a préalablement confisqué à d'autres car on n'accroît pas les biens en les divisant.
Quand la moitié d'un peuple croit qu'il ne sert à rien de faire des efforts car l'autre moitié les fera pour elle, et quand cette dernière moitié se dit qu'il ne sert à rien d'en faire car ils bénéficieront à d'autres, cela s'appelle le déclin et la fin d'une nation.
Dr. Adrian Rogers, 1931
Sve@r est déconnecté   Envoyer un message privé Réponse avec citation 10
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h05.


 
 
 
 
Partenaires

Hébergement Web