bonjour,

Je bloque sur le split d'une chaine dans un tableau.
J'ai essayé différentes syntaxes basiques, mais je rencontre à chaque fois l'erreur suivante Syntax error: ")" unexpected

1er test (dans un script)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
#!/bin/bash
str="abc def ghi"
arr=($(echo $str | tr " " "\n"))
echo ${arr[1]}
exit 0
2e test (dans un script), exemple repris depuis initialiser un tableau
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
#!/bin/bash
declare -a tab=(1 5 9 77 66 55 12)
echo ${tab[0]}
echo ${tab[1]}
$ind=5
echo ${tab[$ind]} #-- Utilisation de la variable "ind" comme indice
echo ${tab[*]}   #-- Affichage du tableau
echo ${#tab[*]} #-- Affichage du nombre d'elements dans le tableau
3e test
si je lance les commandes du 1er test directement dans un shell, ça fonctionne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
str="abc def ghi" ; arr=($(echo $str | tr " " "\n")) ; echo ${arr[1]}
Ce problème est peut-être basique, mais est-ce que quelqu'un a une idée pourquoi la conversion ne fonctionne pas dans un script bash,
alors que ça passe correctement dans un terminal ?

d'avance merci