[shell] mettre une pause entre deux commandes [Résolu/Fermé]

Signaler
Messages postés
20
Date d'inscription
lundi 14 mars 2005
Statut
Membre
Dernière intervention
21 janvier 2009
-
Messages postés
2
Date d'inscription
vendredi 8 mars 2013
Statut
Membre
Dernière intervention
8 mars 2013
-
Bonjour à tous,

Je suis en train de mettre en place un petit script shell, et j'aimerais stopper son exécution entre deux commandes, puis reprendre l'exécution du script par intervention de l'utilisateur.

Merci d'avance pour vos renseignements .......

4 réponses

Messages postés
40805
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
5 décembre 2019
4 750
Salut,

Tu peux faire effectivement avec la commande "sleep", mais celle ci n'est pas très interactive. Je te suggèrerai plutôt avec la commande "read".
En voici 2 exemples.
1er exemple :
#! /bin/bash
# pause2.sh : appuyer sur une touche pour continuer un script

echo "Appuyer la touche <Entrée> pour continuer..."
read touche
case $touche in
*)	echo "Reprise du script..."
	;;
esac
2ème exemple :
#! /bin/bash
# pause.sh : continuer oui ou non un script

echo "Voulez-vous continuer ? [O/N]"
read mot
while
[ "$mot" = "O" ]
do
echo "Voulez-vous continuer ? [O/N]"
read mot
done
echo "Programme achevé..."
;-))
33
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 57905 internautes nous ont dit merci ce mois-ci

Inutile de créer un case pour prendre n'importe quelle valeur de $touche...
de case jusqu'à esac le code est inutile... Par esthétisme éventuellement tu peux mettre un echo quelquechose, mais c'est tout.
3ème exemple :
read -p "Appuyer sur une touche pour continuer ..."

4ème exemple :
#!/bin/bash
# Fonction pause intéractive 
function pause(){
   read -p "$*"
}

pause 'Ma première pause ...'
pause 'Ma seconde pause ...'
Messages postés
845
Date d'inscription
mercredi 20 juillet 2005
Statut
Membre
Dernière intervention
9 janvier 2017
44
salut,
essaie avec la commande sleep (man sleep pour plus de details)
Messages postés
2
Date d'inscription
vendredi 8 mars 2013
Statut
Membre
Dernière intervention
8 mars 2013
2
crees une function
pause ()
{
echo "Appuyer sur ENTER pour continuer .."
read
clear
}