Problème tableau en sh et pas en bash
Le
Alexandre DECORNY

Bonjour à la liste,
J'utilise depuis quelques années un script backup mysql maison en sh. Je
me suis rendu compte qu'une maj sur un de mes serveurs debian testing
plantait mon script.
Voici la partie du code incriminée :
#!/bin/sh
#TAB_BASE_SQL[0]="mysql"
#TAB_BASE_SQL[1]="dotclear"
#TAB_BASE_SQL[2]="bddtest2"
Renvoi :
/root/backupweb.sh: 9: TAB_BASE_SQL[0]=mysql: not found
/root/backupweb.sh: 10: TAB_BASE_SQL[1]=dotclear: not found
/root/backupweb.sh: 11: TAB_BASE_SQL[2]½dtest2: not found
Ce script continu de tourner sans problème sur mes serveurs debian stable.
Chose très étrange j'ai changé l'environnement d'execution par bash
(#!/bin/bash) et maintenant mon script fonctionne à nouveau.
J'ai un peu chercher mais je ne trouve pas de documentation sur le
sujet. Quelqu'un a t'il déjà rencontré ce genre de problème ? Avez vous
vu passé un changelog au niveau de l'environnement sh concernant les
tableaux ?
Par avance merci pour votre aide.
Alex
___________________________________________________
Ce message a été vérifié par l'antivirus de MDaemon 5 .
Par précaution, n'ouvrez pas de pièces jointes de correspondants inconnus.
___________________________________________________
--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists Vous pouvez aussi ajouter le mot
``spam'' dans vos champs "From" et "Reply-To:"
Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers debian-user-french-REQUEST@lists.debian.org
En cas de soucis, contactez EN ANGLAIS listmaster@lists.debian.org
J'utilise depuis quelques années un script backup mysql maison en sh. Je
me suis rendu compte qu'une maj sur un de mes serveurs debian testing
plantait mon script.
Voici la partie du code incriminée :
#!/bin/sh
#TAB_BASE_SQL[0]="mysql"
#TAB_BASE_SQL[1]="dotclear"
#TAB_BASE_SQL[2]="bddtest2"
Renvoi :
/root/backupweb.sh: 9: TAB_BASE_SQL[0]=mysql: not found
/root/backupweb.sh: 10: TAB_BASE_SQL[1]=dotclear: not found
/root/backupweb.sh: 11: TAB_BASE_SQL[2]½dtest2: not found
Ce script continu de tourner sans problème sur mes serveurs debian stable.
Chose très étrange j'ai changé l'environnement d'execution par bash
(#!/bin/bash) et maintenant mon script fonctionne à nouveau.
J'ai un peu chercher mais je ne trouve pas de documentation sur le
sujet. Quelqu'un a t'il déjà rencontré ce genre de problème ? Avez vous
vu passé un changelog au niveau de l'environnement sh concernant les
tableaux ?
Par avance merci pour votre aide.
Alex
___________________________________________________
Ce message a été vérifié par l'antivirus de MDaemon 5 .
Par précaution, n'ouvrez pas de pièces jointes de correspondants inconnus.
___________________________________________________
--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists Vous pouvez aussi ajouter le mot
``spam'' dans vos champs "From" et "Reply-To:"
Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers debian-user-french-REQUEST@lists.debian.org
En cas de soucis, contactez EN ANGLAIS listmaster@lists.debian.org
Je viens de vérifier sur ce serveur, en effet le lien a changé vers
dash. Je n'ai pas souvenir d'avoir autorisé ce changement. A moins que
pour ce paquet la réponse par défaut est l'acceptation du changement de
lien (ce serait étonnant).
En tout cas, je comprend mieux le pourquoi du comment :)
Merci
Alex
___________________________________________________
Ce message a été vérifié par l'antivirus de MDaemon 5 .
Par précaution, n'ouvrez pas de pièces jointes de correspondants inconnus.
___________________________________________________
--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists Vous pouvez aussi ajouter le mot
``spam'' dans vos champs "From" et "Reply-To:"
Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
`dpkg-reconfigure dash' devrait permettre de vérifier cela (la priorité
debconf est peut-être mal ajustée sur ton système si la question ne t'a
pas été posée).
Julien
--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists Vous pouvez aussi ajouter le mot
``spam'' dans vos champs "From" et "Reply-To:"
Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Bonjour Alexandre,
le lien symbolique /bin/sh pointe désormais par défaut sur /bin/dash dans les
systèmes fraîchement installés. Les scripts nécessitant des fonctions
spécifiques à bash doivent exécuter bash spécifiquement.
S'agissant des systèmes mis à jour, /bin/sh devrait continuer à pointer sur
/bin/bash à moins que l'utilisateur n'accepte le changement lors d'un dialogue
Debconf. Si le changement est arrivé automatiquement, c'est un bug…
Amicalement,
--
Charles Plessy
Tsurumi, Kanagawa, Japon
--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists Vous pouvez aussi ajouter le mot
``spam'' dans vos champs "From" et "Reply-To:"
Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Le problème doit venir de moi. J'ai bien le dialogue qui apparait. Voila
ce que c'est que d'intervenir sur un serveur pendant les vacances :)
Merci à vous,
Alex
___________________________________________________
Ce message a été vérifié par l'antivirus de MDaemon 5 .
Par précaution, n'ouvrez pas de pièces jointes de correspondants inconnus.
___________________________________________________
--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists Vous pouvez aussi ajouter le mot
``spam'' dans vos champs "From" et "Reply-To:"
Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS