Bonjour,

Voici mon problème :

J'ai un shell toto.sh contenant uniquement :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
#!/bin/ksh
TOTO[99999991]="Oui"
export TOTO
Quand je l'execute j'ai un comportement étrange :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
[user1@PF9SOSLN01 fonction]$ ./toto.sh
./toto.sh: ligne 2: TOTO: indice inférieur hors d intervalle
[user1@PF9SOSLN01 fonction]$ echo ${TOTO[99999991]}
 
[user1@PF9SOSLN01 fonction]$ . toto.sh
[user1@PF9SOSLN01 fonction]$ echo ${TOTO[99999991]}
Oui
On peut voir ici que si je l'execute avec "./toto.sh" j'ai alors le message d'erreur : "indice inférieur hors d'intervalle"
Ce message n'apparaît à première vue que l'orsque je dépasse un certain seuil de valeur... mais peu importe.
On peut alors vérifier que le shell n'a pas été correctement executé et que la valeur du tableau n'est pas accessible (echo ${TOTO[99999991]} retourne vide).

Ensuite, si j'execute ce même script avec ". toto.sh" je n'ai plus aucun message d'erreur et tout semble fonctionner pour le mieux.

J'aimerais donc comprendre ce phénomène car mon objectif est d'executer ce script de manière absolue (./home/xxx/xxx/xxx/xxx/toto.sh) sans obtenir le message d'erreur en question.

Merci pour votre aide