J'ai un tableau dans Bash, chaque élément est une chaîne de caractères. Comment puis-je ajouter une autre chaîne à chaque élément ? En Java, le code est quelque chose comme :
for (int i=0; i<array.length; i++)
{
array[i].append("content");
}
J'ai un tableau dans Bash, chaque élément est une chaîne de caractères. Comment puis-je ajouter une autre chaîne à chaque élément ? En Java, le code est quelque chose comme :
for (int i=0; i<array.length; i++)
{
array[i].append("content");
}
Testé, et ça marche :
array=(a b c d e)
cnt=${#array[@]}
for ((i=0;i<cnt;i++)); do
array[i]="${array[i]}$i"
echo "${array[i]}"
done
produit :
a0
b1
c2
d3
e4
EDIT : déclaration de la array
pourrait être raccourci en
array=({a..e})
Pour vous aider à comprendre les tableaux et leur syntaxe dans bash, la fonction référence est un bon début. Je vous recommande également bash-hackers l'explication.
Vous passez la longueur du tableau comme index pour l'affectation. La longueur est basée sur 1 et le tableau est indexé sur 0, donc en passant la longueur vous dites à bash d'assigner votre valeur à l'emplacement après le dernier dans le tableau. Pour obtenir la longueur d'un tableau, vous utilisez ceci ${array[@]}
la syntaxe.
declare -a array
array[${#array[@]}]=1
array[${#array[@]}]=2
array[${#array[@]}]=3
array[${#array[@]}]=4
array[${#array[@]}]=5
echo ${array[@]}
Produit
1 2 3 4 5
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.