Bash : attendre la fin d'une commande
Résolu/Fermé
IvyAlice
Messages postés
379
Date d'inscription
lundi 17 septembre 2007
Statut
Membre
Dernière intervention
14 septembre 2013
-
24 févr. 2010 à 17:16
IvyAlice Messages postés 379 Date d'inscription lundi 17 septembre 2007 Statut Membre Dernière intervention 14 septembre 2013 - 3 mars 2010 à 17:06
IvyAlice Messages postés 379 Date d'inscription lundi 17 septembre 2007 Statut Membre Dernière intervention 14 septembre 2013 - 3 mars 2010 à 17:06
A voir également:
- Bash : attendre la fin d'une commande
- Bingo bash free - Télécharger - Divers Jeux
- Retour à la ligne bash ✓ - Forum Shell
- Bash écrire dans un fichier - Forum Shell
- Bash: adduser : commande introuvable ✓ - Forum Debian
- Bash-3.2 - Forum MacOS
7 réponses
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 896
24 févr. 2010 à 17:19
24 févr. 2010 à 17:19
Salut,
mkfs.ext3 /dev/"$device"` & wait
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
24 févr. 2010 à 17:22
24 févr. 2010 à 17:22
Salut,
La commande 2 sera exécutée si et seulement la commande 1 se finie avec succès
commande1 && commande2
La commande 2 sera exécutée si et seulement la commande 1 se finie avec succès
IvyAlice
Messages postés
379
Date d'inscription
lundi 17 septembre 2007
Statut
Membre
Dernière intervention
14 septembre 2013
32
24 févr. 2010 à 18:08
24 févr. 2010 à 18:08
Salut Jipicy,
Merci pour ta réponse.
J'ai fait plusieurs essai, mais à chaque fois le formatage ne s'effectue pas, j'ai donc utilisé un fichier log :
#------------------------------------------------------
temps=`date`
echo "debut du formatage de $device $temps" >> $log
`mkfs.ext3 /dev/"$device" &` 2>>$log
`wait`
temps=`date`
echo "fin du formatage de $device $date"
#------------------------------------------------------
et dans le fichier log on ne voit que :
debut du formatage de sde1 Wed Feb 24 17:48:01 CET 2010
ensuite de quoi, la fin du scripte s'exécute normalement, sauf qu'il ne log plus Oo (si je remonte le HD par la suite, il le fait, mais jamais je n'ai le "fin du formatage de ... " ni "le HD a ete monte" )
Je ne sais pas ce qui se passe(rien manifestement), je fais tjr cette commande mkfs quand je le fais à la main et ça fonctionne
Est-ce que tu as une idée du pourquoi du comment ?
Ivy
Merci pour ta réponse.
J'ai fait plusieurs essai, mais à chaque fois le formatage ne s'effectue pas, j'ai donc utilisé un fichier log :
#------------------------------------------------------
temps=`date`
echo "debut du formatage de $device $temps" >> $log
`mkfs.ext3 /dev/"$device" &` 2>>$log
`wait`
temps=`date`
echo "fin du formatage de $device $date"
#------------------------------------------------------
et dans le fichier log on ne voit que :
debut du formatage de sde1 Wed Feb 24 17:48:01 CET 2010
ensuite de quoi, la fin du scripte s'exécute normalement, sauf qu'il ne log plus Oo (si je remonte le HD par la suite, il le fait, mais jamais je n'ai le "fin du formatage de ... " ni "le HD a ete monte" )
Je ne sais pas ce qui se passe(rien manifestement), je fais tjr cette commande mkfs quand je le fais à la main et ça fonctionne
Est-ce que tu as une idée du pourquoi du comment ?
Ivy
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 896
24 févr. 2010 à 18:19
24 févr. 2010 à 18:19
Je n'avais pas fait attention la 1ère fois, mais pourquoi entoures-tu tes commandes de quotes inverses (désuètes en plus) ???
Enlèves-les et relances le script...
Mets aussi le "2>>$log" avant l'esperluette :
Enlèves-les et relances le script...
Mets aussi le "2>>$log" avant l'esperluette :
mkfs.ext3 /dev/"$device" 2>>$log & wait
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
24 févr. 2010 à 18:15
24 févr. 2010 à 18:15
Re,
mkfs.ext3 /dev/"$device" && mount /dev/"$device" /media/SAN
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
IvyAlice
Messages postés
379
Date d'inscription
lundi 17 septembre 2007
Statut
Membre
Dernière intervention
14 septembre 2013
32
24 févr. 2010 à 18:32
24 févr. 2010 à 18:32
Salut lami20j
Je n'ai pas vu ta réponse avant de poster la mienne.
Bon j'ai lancé la moulinette à la main avant d'oublier de le faire, je testerai donc tout ça demain.
Jipicy : ah je croyais qu'on devait mettre ces `` chaque fois qu'on voulait lancer une commande ou alors c'est chaque fois qu'on veut mettre le résultat d'une commande dans une variable ?
En tout cas merci pour votre aide, et je vous tient au courant de la suite des évènements demain en fin d'aprem.
Ivy
Je n'ai pas vu ta réponse avant de poster la mienne.
Bon j'ai lancé la moulinette à la main avant d'oublier de le faire, je testerai donc tout ça demain.
Jipicy : ah je croyais qu'on devait mettre ces `` chaque fois qu'on voulait lancer une commande ou alors c'est chaque fois qu'on veut mettre le résultat d'une commande dans une variable ?
En tout cas merci pour votre aide, et je vous tient au courant de la suite des évènements demain en fin d'aprem.
Ivy
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 896
24 févr. 2010 à 18:35
24 févr. 2010 à 18:35
ou alors c'est chaque fois qu'on veut mettre le résultat d'une commande dans une variable ?
C'est celà ;-))
Par contre préférer la syntaxe :
Plutôt que les quotes inverses (illisibles).
C'est celà ;-))
Par contre préférer la syntaxe :
$(commande)
Plutôt que les quotes inverses (illisibles).
IvyAlice
Messages postés
379
Date d'inscription
lundi 17 septembre 2007
Statut
Membre
Dernière intervention
14 septembre 2013
32
2 mars 2010 à 17:40
2 mars 2010 à 17:40
Bonjour,
Je n'ai testé qu'aujourd'hui, voici ce que j'ai remarqué :
# 1 ...............................................
mkfs.ext3 /dev/"$device" 2>>$log &
wait
#..................................................
fonctionne pour autant que le lance le scripte manuellement, si c'est le crontab qui le lance, j'ai le message suivant dans $log :
line 22: mkfs.ext3: command not found
et là effectivement il passe à côté du formatage.
Je n'ai testé qu'aujourd'hui, voici ce que j'ai remarqué :
# 1 ...............................................
mkfs.ext3 /dev/"$device" 2>>$log &
wait
#..................................................
fonctionne pour autant que le lance le scripte manuellement, si c'est le crontab qui le lance, j'ai le message suivant dans $log :
line 22: mkfs.ext3: command not found
et là effectivement il passe à côté du formatage.
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 896
2 mars 2010 à 17:59
2 mars 2010 à 17:59
Mets le chemin complet vers mkfs.ext3.
IvyAlice
Messages postés
379
Date d'inscription
lundi 17 septembre 2007
Statut
Membre
Dernière intervention
14 septembre 2013
32
3 mars 2010 à 17:06
3 mars 2010 à 17:06
Hello,
Oui c'était bien ça Jipicy, j'ai changer mkfs.ext3 pour /sbin/mkfs.ext3 et maintenant ça fonctionne
Merci beaucoup
Ivy
Oui c'était bien ça Jipicy, j'ai changer mkfs.ext3 pour /sbin/mkfs.ext3 et maintenant ça fonctionne
Merci beaucoup
Ivy