J'essaie de faire un script qui devrait être exécuté avec crontab, mais j'ai des difficultés à déclarer un tableau et à récupérer la clé et la valeur de ce tableau. (Sous MacOS 10.12.6)
Voici ce que j'ai obtenu jusqu'à présent :
#!/bin/bash
declare -A listofnames
listofnames[one]="one test"
listofnames[two]="two test"
for val in "${listofnames[@]}"; do
echo $val
done
Et cela me lance une erreur : declare: usage: declare [-afFirtx] [-p] [name[=value] ...]
et la sortie qu'il two test
.
Sortie attendue :
$ ./test.sh
one test
two test
0 votes
Allez, tout le monde ne rétrogradez pas sans explication.
1 votes
MacOS est livré avec la version 3 de bash (pour des raisons de licence), mais les tableaux associatifs n'ont pas été ajoutés à bash avant la version 4. Si vous ne pouvez pas faire ce dont vous avez besoin avec des tableaux indexés numériquement, votre meilleur choix serait d'installer bash v4 avec maison puis modifiez la ligne shebang pour l'utiliser à la place de la version intégrée.
0 votes
Quelle version de MacOS utilisez-vous ?
1 votes
@GordonDavisson Joli ! Il semble que j'ai installé bash 5, j'ai juste changé le shebang et tout fonctionne bien maintenant.