Bash qui marche sous ubuntu et pas sousdebian

Alucard95 Messages postés 161 Statut Membre -  
jipicy Messages postés 41342 Statut Modérateur -
Bonjour,

Alors voila mon soucis j'ai fais un script bash qui fonctionne très bien sous ubuntu mais pas sous debian ou la j'ai l'erreur command not found.

Le problème c'est que je ne trouve pas qu'elle est la partie qui ne fonctionne pas vu qu'il n'y a pas de détail dans le message d'erreur. Voici le script:


#!/bin/bash

table=( $( echo "use database; show tables;" | mysql --user=zabbix --password=zabbix ) )

nb=$( echo ${#table[@]} )

nb=`expr $nb - 1`

i=1

while [ $i -le $nb ]; do

echo "usedatabase; alter table ${table[$i]} engine = innodb;" | mysql --user=user --password=password;

echo ${table[$i]};

i=`expr $i + 1`;

echo $i;

done

Voila, si quelqu'un arrive à voir ou se trouve l'erreur.

Merci d'avance
A voir également:

8 réponses

Utilisateur anonyme
 
As tu les memes paquets concernant mysql sur les deux ordis ?
0
jipicy Messages postés 41342 Statut Modérateur 4 896
 
Salut,

Déjà rajoute en dessous du shebang :
set -xv

pour rendre ton script verbeux. Rajoute l'option "-n" si tu ne veux pas qu'il soit exécuté, mais juste vérifier.

Tu peux aussi ajouter l'option "-e" si tu veux que l'exécution s'arrête dès qu'une commande renvoie "faux".
0
Alucard95 Messages postés 161 Statut Membre 2
 
Alors, pour les paquets mysql ils sont tous les 2 à la version 5.

Alors le résultat de la commande bash -n script .sh est :

line 31 : syntax error : unexpected end of file
0
Utilisateur anonyme
 
Non je parles pas des paquets Mysql mais des paquets concernant mysql. Il doit t'en manquer un je pense
0
jipicy Messages postés 41342 Statut Modérateur 4 896
 
line 31 : syntax error : unexpected end of file
Et c'est laquelle cette ligne ???

Il est entier ton script là ?
0
Alucard95 Messages postés 161 Statut Membre 2 > jipicy Messages postés 41342 Statut Modérateur
 
Bah la ligne 31 c'est la ligne du "done" (j'ai enlevé tous mes commentaires perso sur le script que j'ai posté dsl) et oui normalement il manque rien...
0
Alucard95 Messages postés 161 Statut Membre 2
 
Je vais voir ça, mais dans ce cas, il devrais pas me sortir une erreur mysql??
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Alucard95 Messages postés 161 Statut Membre 2
 
j'ai bien rajouté le set -xv mais il me dit invalide option3: set : -
apparement il ne connait pas l'option "v"
0
Alucard95 Messages postés 161 Statut Membre 2
 
Alors, voila tous le message d'erreur (j'ai enleve le set -xv) à la commande bash script.sh

: commande not found
: commande not found
: commande not found
: commande not found
: commande not found
: commande not found
expr: expression non numérique
: commande not found
: commande not found
: commande not found
0
jipicy Messages postés 41342 Statut Modérateur 4 896
 
expr: expression non numérique
Tu peux afficher la sortie de ton script avec le débogage activé s'il te plaît, merci ?
0
Alucard95 Messages postés 161 Statut Membre 2 > jipicy Messages postés 41342 Statut Modérateur
 
heu... avec le debogage activé c'est à dire avec l'option --debugger??

Si c'est bien ça le message d'erreur est le même
0
jipicy Messages postés 41342 Statut Modérateur 4 896 > Alucard95 Messages postés 161 Statut Membre
 
Non avec l'option -x (et -v si elle marche) afin de voir comment sont interprétées chaque commande et variable...
0
Alucard95 Messages postés 161 Statut Membre 2
 
Alors voila ce que ça me retourne :

+ $'\r'
: command not found
+ $'\r'
: command not found
+ table=()
+ $'\r'
: command not found
+ $'\r'
: command not found
++ echo 0
+ nb=$'0\r'
+ $'\r'
: command not found
+ $'\r'
: command not found
++ expr $'0\r' - 1
expr: argument non numérique
+ nb=$'\r'
+ $'\r'
: command not found
+ $'\r'
: command not found
+ i=$'1\r'
+ $'\r'
: command not found
script.sh: line 30: syntax error: unexpected end of file
0
jipicy Messages postés 41342 Statut Modérateur 4 896
 
Tu peux afficher le résultat de :
cat -A ton-script
0