Léa-Linux & amis :   LinuxFR   GCU-Squad   GNU
newbi-->mon premier script sh : marche pas !
Envoyé par: casa

Bonjour

j'essai de faire marcher mon premier script sh pour sauvegarde de 2 bases de données. (script copié sur -[www.debian-administration.org])

les réponses quand j'essai de l'activer:

****/home/sauvedb# sh dbs_sauve.sh
: command not found2:
: command not found7:
'bs_sauve.sh: line 18: syntax error near unexpected token `do
'bs_sauve.sh: line 18: `for j in 6 5 4 3 2 1 0; do
************************
le script :
#!/bin/sh

#
#  Directory we store the dumps in.
#
BACKUP_DIR=sauvedb

#
#  Make sure output directory exists.
#
if [ ! -d $BACKUP_DIR ]; then
    mkdir -p $BACKUP_DIR
fi

#
#  Rotate backups
#
for j in  6 5 4 3 2 1 0; do
    for i in $BACKUP_DIR/*.gz.$j; do 
	if [ -e $i ]; then
	    mv $i ${i/.$j/}.`expr $j + 1 `;
	fi
    done
done


#
# Create new backups
#
for i in /var/lib/mysql/*/; do
    dbname=`basename $i`
    mysqldump --user=root $dbname |  \
	gzip > $BACKUP_DIR/$dbname.gz.0
done

merci
casa

Poste le Saturday 26 November 2005 17:13:25
Répondre     Citer    
Re: newbi-->mon premier script sh : marche pas !
Envoyé par: Sve@r

Citation
casa
Bonjour

j'essai de faire marcher mon premier script sh
pour sauvegarde de 2 bases de données. (script
copié sur -)

les réponses quand j'essai de l'activer:

****/home/sauvedb# sh dbs_sauve.sh
: command not found2:
: command not found7:
'bs_sauve.sh: line 18: syntax error near
unexpected token `do
'bs_sauve.sh: line 18: `for j in 6 5 4 3 2 1 0;
do

merci
casa

Incompréhensible - Ce script a l'air tout à fait correct. Juste le point-virgule à la fin du "mv $i ..." est inutile mais ce n'est pas une faute.

Essaye d'activer le débugging en rajoutant au début du bloc suspect la ligne "set -x" et à la fin du même bloc la ligne "set +x". Toutes les lignes encadrées par ces instructions seront affichées avant d'être exécutées

Petit détail: personnellement je sépare la ligne "for" de la ligne "do" et la ligne "if" de la ligne "then"
Au lieu de
Citation

for i in ... ; do
if test ...; then

J'écris
Citation

for i in ...
do
if test ...
then
mais ta façon d'écrire n'est pas une erreur...


L'homme qui murmurait à l'oreille des pingouins
[fr.lang.free.fr]

Poste le Sunday 27 November 2005 11:38:24
Répondre     Citer    
Re: newbi-->mon premier script sh : marche pas !
Envoyé par: Sve@r

Citation
casa
Bonjour

j'essai de faire marcher mon premier script sh
pour sauvegarde de 2 bases de données. (script
copié sur -)

les réponses quand j'essai de l'activer:

****/home/sauvedb# sh dbs_sauve.sh
: command not found2:
: command not found7:
'bs_sauve.sh: line 18: syntax error near
unexpected token `do
'bs_sauve.sh: line 18: `for j in 6 5 4 3 2 1 0;
do

merci
casa

Incompréhensible - Ce script a l'air tout à fait correct. Juste le point-virgule à la fin du "mv $i ..." est inutile mais ce n'est pas une faute.

Essaye d'activer le débugging en rajoutant au début du bloc suspect la ligne "set -x" et à la fin du même bloc la ligne "set +x". Toutes les lignes encadrées par ces instructions seront affichées avant d'être exécutées

Petit détail: personnellement je sépare la ligne "for" de la ligne "do" et la ligne "if" de la ligne "then"
Au lieu de
Citation

for i in ... ; do
if test ...; then

J'écris
Citation

for i in ...
do
if test ...
then
mais ta façon d'écrire n'est pas une erreur...


L'homme qui murmurait à l'oreille des pingouins
[fr.lang.free.fr]

Poste le Sunday 27 November 2005 11:38:51
Répondre     Citer    
Re: newbi-->mon premier script sh : marche pas !

j'ai testé le script chez moi, il fonctionne sans problème

--
Brugmans Frédéric

[www.brugmans.net]
[triathlon.sport-challenge.be]

Poste le Sunday 27 November 2005 12:29:57
Répondre     Citer    
Re: newbi-->mon premier script sh : marche pas !
Envoyé par: ryko

Salut,

juste pour être sur c'est quoi ton shell ?

(echo $SHELL)

Poste le Monday 28 November 2005 11:55:10
Répondre     Citer    
Re: newbi-->mon premier script sh : marche pas !
Envoyé par: Sve@r

Citation
ryko
Salut,

juste pour être sur c'est quoi ton shell ?

(echo $SHELL)
ou bien "echo $0" mais ça n'a aucune importance. Qu'il soit en /bin/sh, /bin/bash, /bin/zsh ou /bin/csh, la première ligne du script "#!/bin/sh" fera en sorte que le script soit interprété par le programme "/bin/sh"


L'homme qui murmurait à l'oreille des pingouins
[fr.lang.free.fr]

Poste le Monday 28 November 2005 19:46:44
Répondre     Citer    
Re: newbi-->mon premier script sh : marche pas !
Envoyé par: casa

Citation
auteur
juste pour être sur c'est quoi ton shell ?

/bin/bash

comme je débute j'ai testé:
#!/bin/bash
############################
# Hello world !          #
############################

echo "hello world"

et pourqoi j'ai: command not found avec hello world ?
: command not found
hello world

merci a vous tous
casa

Poste le Tuesday 29 November 2005 09:09:29
Répondre     Citer    
Re: newbi-->mon premier script sh : marche pas !
Envoyé par: Sve@r

Citation
casa
auteur a écrit :juste pour être sur c'est quoi ton
shell ?

/bin/bash

comme je débute j'ai testé:
#!/bin/bash
############################
# Hello world ! #
############################

echo "hello world"

et pourqoi j'ai: command not found avec hello
world ?
: command not found
hello world

merci a vous tous
casa

T'as bien ton "Hello World" venant du "echo". En revanche, je ne comprends absolument pas d'où peut venir cette commande vide non trouvée.

J'aimerais être certain d'une chose: ta PREMIERE ligne de ton script est bien "#!/bin/bash". Il n'y a aucune ligne au dessus (commentaire ou autre).

Essaye d'enlever de ton script tous les commentaires et de ne laisser que ces deux lignes:
Citation

#!/bin/bash
echo "hello world"
...


L'homme qui murmurait à l'oreille des pingouins
[fr.lang.free.fr]

Poste le Tuesday 29 November 2005 10:39:04
Répondre     Citer    
Re: newbi-->mon premier script sh : marche pas !
Envoyé par: casa

Merci merci

Citation
Sve@r
Essaye d'enlever de ton script tous les commentaires et de ne laisser que ces deux lignes:
#!/bin/bash
echo "hello world"

maintenant tout est ok:-)
je vais pouvoir étudier le premier script de ce fil.

cordialement
casa

Poste le Tuesday 29 November 2005 11:41:01
Répondre     Citer    
Re: newbi-->mon premier script sh : marche pas !
Envoyé par: Sve@r

Citation
casa
Merci merci

Sve@r a écrit :Essaye d'enlever de ton script tous
les commentaires et de ne laisser que ces deux
lignes:
#!/bin/bash
echo "hello world"

maintenant tout est ok
je vais pouvoir étudier le premier script de ce
fil.

Non tout n'est pas ok. Je ne vois pas ce qui cloche dans le "Hello World" précédent. Les commentaires restent des commentaires. Je t'ai dit de les enlever en désespoir de cause mais le fait que ça marche sans eux ne m'explique pas pourquoi ça ne marchait pas avec !!!!


L'homme qui murmurait à l'oreille des pingouins
[fr.lang.free.fr]

Poste le Tuesday 29 November 2005 16:00:19
Répondre     Citer    
Re: newbi-->mon premier script sh : marche pas !
Envoyé par: casa


oui c'est vrai
je vais poser la question a mon hébergeur et
je ferai suivre la réponse ici

casa

Poste le Tuesday 29 November 2005 18:46:40
Répondre     Citer    

Veuillez vous authentifier auparavant pour commenter.

 

Ce forum !
newbi-->mon premier script sh : marche pas !
Pour poser vos questions sur les scripts shell, le Perl, le C, etc... Attention : nous ne sommes pas des spécialistes du dev, ce forum est juste pour de petites aides ponctuelles concernant le développement et les outils de développement.

Sauf mention contraire, les documentations publiées sont sous licence Creative-Commons