[debutant] Split d'une chaine dans un tableau
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:
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:
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:
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