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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Alexandre DECORNY
Le #19978451
Charles Plessy a écrit :
Le Mon, Aug 24, 2009 at 10:34:53AM +0200, Alexandre DECORNY a écrit :

Chose très étrange j'ai changé l'environnement d'execution par bash
(#!/bin/bash) et maintenant mon script fonctionne à nouveau.




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,




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
Julien Valroff
Le #19978441
Le lundi 24 août 2009 à 17:40 +0900, Charles Plessy a écrit :

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…



`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
Charles Plessy
Le #19978431
Le Mon, Aug 24, 2009 at 10:34:53AM +0200, Alexandre DECORNY a écrit :

Chose très étrange j'ai changé l'environnement d'execution par bash
(#!/bin/bash) et maintenant mon script fonctionne à nouveau.



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
Alexandre DECORNY
Le #19978421
Julien Valroff a écrit :
Le lundi 24 août 2009 à 17:40 +0900, Charles Plessy a écrit :

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…




`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




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
Publicité
Poster une réponse
Anonyme