reference indirecte à un tableau, en bash

Le
NicolasAlex.Michel.remove
Bonjour

En bash on peut créer un tableau, genre

$ mot=( bonjour tcho )
$ echo ${mot[0]}
bonjour
$ echo ${mot[1]}
tcho

On peut aussi faire un adressage indirecte d'une variable :

prem=mot
mot=bonjour

echo ${prem}
mot

echo ${!prem}
bonjour


Est-il possible de faire un adressage indirecte à un tableau, en bash ?

J'ai pas trouvé dans l'abs, mais j'ai peut-être mal cherché

Ceci ne fonctionne pas :

prem=mot
mot[1]=tcho
echo ${mot[1]}
tcho

echo ${!prem[1]}


Merci !


--
Nicolas Michel
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
NicolasAlex.Michel.remove
Le #22649271
Nicolas Michel
Est-il possible de faire un adressage indirecte à un tableau, en bash ?




Hello

Je me réponds à moi-même, c'est

$> eval arraycontent=${$1[$increment]}

Pour illustrer la chose, voici une petite fonction qui affiche le
contenu d'un tableau :



#!/bin/bash

showarray () {
local arraylenght=""
local arraycontent=""
local increment=0

eval arraylenght=${#$1[@]}

while [ "$increment" -lt "$arraylenght" ]
do
eval arraycontent=${$1[$increment]}
echo "cellule No $increment = $arraycontent"
(( increment++ ))
done
}

liste=( aaa bb "c c" d )

showarray liste





--
Nicolas Michel
Publicité
Poster une réponse
Anonyme