Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 17/07/2006, à 14:57

bioman

[Résolu] Equivalent de la commande pause du DOS

Bonjour,

Existe t-il une commande équivalente à celle du DOS, la commande pause?
C'est pour permettre de visualiser les résultats d'un script bash sur la console car elle se ferme avant que je puisse voir quoique ce soit.

Dernière modification par bioman (Le 18/07/2006, à 02:14)

Hors ligne

#2 Le 17/07/2006, à 15:02

Michel38

Re : [Résolu] Equivalent de la commande pause du DOS

Bonjour,
sleep xxx où xxx doit (?) être le nombre de secondes


LM18.3 - Kernel: 4.4.0-53-generic i686 (32 bit gcc: 5.4.0) - Cinnamon 3.4.6 (Gtk 3.18.9-1ubuntu3.3)
System: CLEVO (portable)
CPU    : Dual core Intel Core i5-3230M
Card    : Intel 3rd Gen Core processor Graphics Controller

Hors ligne

#3 Le 17/07/2006, à 15:16

bioman

Re : [Résolu] Equivalent de la commande pause du DOS

Oui c'est ça, merci.


sleep

sleep amount[units] sleep option

Wait a specified amount of time before executing another command. units may be s (seconds), m (minutes), h (hours), or d (days). The default for units is seconds.
Options
--help

    Print usage information and exit.

--version

    Print version information and exit.

Hors ligne

#4 Le 17/07/2006, à 15:34

Michel38

Re : [Résolu] Equivalent de la commande pause du DOS

Un petit résolu ?


LM18.3 - Kernel: 4.4.0-53-generic i686 (32 bit gcc: 5.4.0) - Cinnamon 3.4.6 (Gtk 3.18.9-1ubuntu3.3)
System: CLEVO (portable)
CPU    : Dual core Intel Core i5-3230M
Card    : Intel 3rd Gen Core processor Graphics Controller

Hors ligne

#5 Le 17/07/2006, à 16:32

vinc1008881

Re : [Résolu] Equivalent de la commande pause du DOS

je ne trouve pas que ce soit vraiment équivalent car sleep attend et relance le programme alors que pause attent un appui clavier, avec pause on a bien le temps de lire.

la commande read n'est t-elle pas mieux ?

Hors ligne

#6 Le 17/07/2006, à 17:30

coffee

Re : [Résolu] Equivalent de la commande pause du DOS

read attend une entrée fini par entré (ou ctrl D)

mais bien sur ça dépend du contenu du script

http://abs.traduc.org/abs-3.7-fr/dosbatch.html


Nom d'un tupperware habillé en streetware mangeant de la confiture de pouère et qui se dite où est-ce que je suis ouère !
Tiens mon blog
Les blagues sous forme de fausses aides sont susceptible de ban (ex: rm)

Hors ligne

#7 Le 11/01/2007, à 13:26

deltamoins

Re : [Résolu] Equivalent de la commande pause du DOS

Bonjour

Je me pose la même question que bioman mais en effet, il vaudrait mieux une commande qui attende une frappe au clavier.
J'ai essayé read mais ça ne marche pas. Voilà mon "code" :
#/bin/bash
rsync -Pravz --delete /home/deltamoins/ delta@serveur.fr:/rep/sauv/
read

Est-ce que quelqu'un pourrait me dire pourquoi il ferme la fenre après avoir fait la suvegarde ?

Merci  d'avance

Hors ligne

#8 Le 20/01/2007, à 15:29

djoole

Re : [Résolu] Equivalent de la commande pause du DOS

Hello, voici le code qui donne un équivalent de la commande pause de DOS :

#!/bin/sh
echo "Appuyer sur Entrée pour continuer..."
read a

Note : le a qui suit read n'est pas important, mais il faut mettre un argument à cette commande sinon cela ne marche pas!

Dernière modification par djoole (Le 20/01/2007, à 15:30)

Hors ligne

#9 Le 24/01/2007, à 12:09

kaworu

Re : [Résolu] Equivalent de la commande pause du DOS

djoole a écrit :

Hello, voici le code qui donne un équivalent de la commande pause de DOS :

#!/bin/sh
echo "Appuyer sur Entrée pour continuer..."
read a

Note : le a qui suit read n'est pas important, mais il faut mettre un argument à cette commande sinon cela ne marche pas!

Guide avancé d'écriture des scripts Bash a écrit :

Un read sans variable associée assigne son entrée à la variable dédiée $REPLY.

Dernière modification par kaworu (Le 24/01/2007, à 12:09)


"There are in order of increasing severity: lies, damn lies, statistics, and computer benchmarks."

Hors ligne

#10 Le 24/01/2007, à 20:43

djoole

Re : [Résolu] Equivalent de la commande pause du DOS

Prout prout,
Je sais pas ce que tu cherches à expliquer par ton quote kaworu (j'ai épuisé mon quota réflexion de la journée).
N'empêche que le script suivant

#!/bin/sh
read

renvoie read: 2: arg count et ne marque pas la pause

Tandis que le script suivant

#!/bin/sh
read a

marque bien la pause et ne renvoie pas d'erreur smile

Dernière modification par djoole (Le 24/01/2007, à 20:43)

Hors ligne

#11 Le 25/01/2007, à 19:49

tarte en pion

Re : [Résolu] Equivalent de la commande pause du DOS

Bonjour!

J'aimerai savoir l'équivalent de sleep en python... cool

Merci!

EDIT: raw_input() trouvé ici.

REEDIT: NOn, zut, ça c'est vraiment pour "pause"! Moi j'aurai besoin de définir un nombre de secondes!   .... ? roll

Dernière modification par tarte en pion (Le 25/01/2007, à 20:28)

Hors ligne

#12 Le 25/01/2007, à 20:45

naholyr

Re : [Résolu] Equivalent de la commande pause du DOS

  import time
  time.sleep(60)

Hors ligne

#13 Le 25/01/2007, à 20:47

tarte en pion

Re : [Résolu] Equivalent de la commande pause du DOS

Merci! Je viens de le trouver moi-même il y a 3 secondes! Mais merci! big_smile

Hors ligne

#14 Le 25/01/2007, à 20:53

Spalax

Re : [Résolu] Equivalent de la commande pause du DOS

Et en redirigeant la sortie vers more ou less, ne serait-ce pas plus simple ?

maCommande | less

Hors ligne

#15 Le 26/01/2007, à 00:43

kaworu

Re : [Résolu] Equivalent de la commande pause du DOS

djoole a écrit :

Prout prout,
Je sais pas ce que tu cherches à expliquer par ton quote kaworu (j'ai épuisé mon quota réflexion de la journée).
N'empêche que le script suivant

#!/bin/sh
read

renvoie read: 2: arg count et ne marque pas la pause

Tandis que le script suivant

#!/bin/sh
read a

marque bien la pause et ne renvoie pas d'erreur smile

read est un shell built-in (c'est à dire qu'il est lié au shell et non pas à un programme externe).
Ta situation est "étrange" car dans le guide que je quote (l'excellent guide sur Bash) il est en faite dis que l'on peut faire :

alex@gentoo ~ $ read 
tatin !
alex@gentoo ~ $ echo $REPLY
tatin !
alex@gentoo ~ $

et ça marche chez moi.
J'ai d'abord cru qu'Ubuntu utilisait une version louche de bash (ce qui ne dois pas être le cas), mais j'ai compris en relisant plus attentivement.

En faite si tu fais ça dans une session Bash que tu ouvre (avec un terminal) ça devrait marcher.
Le fait est que tu as mis comme Sha-bang la ligne #!/bin/sh dans ton script, et que sous Ubuntu (>=Edgy sauf erreur) /bin/sh pointe vers /bin/dash et non plus vers /bin/bash.
Donc quand tu exécute ton script, c'est dash qui l'interprète et non pas bash. Comme dash n'est pas fait pour l'interactivité, sa fonction read est un peu moisie.
Essaye de remplacer #!/bin/sh par #!/bin/bash :

#!/bin/bash
read

et ça devrait marcher wink

EDIT : faire un script avec #!/bin/sh est un exercice de haute voltige (et c'est rien de le dire). En effet on ne peut jamais savoir quel shell va interpréter notre script (dash,bash,csh,zsh...).

Dernière modification par kaworu (Le 27/01/2007, à 13:28)


"There are in order of increasing severity: lies, damn lies, statistics, and computer benchmarks."

Hors ligne

#16 Le 26/01/2007, à 11:53

djoole

Re : [Résolu] Equivalent de la commande pause du DOS

Ok, merci pour l'info, je vais esayer ce soir en pointant vers bash au lieu de sh et te dirai si ça fonctionne.
Effectivement si on peut se passer d'un argument tout pourri c'est mieux smile

De plus il est vrai que ça marche très bien directement sous un terminal, je n'avais le problème que depuis un script sh.

Hors ligne

#17 Le 26/01/2007, à 23:17

djoole

Re : [Résolu] Equivalent de la commande pause du DOS

Effectivement, j'ai testé avec bash et ça fonctionne très bien.
Merci, dorénavant je lancerai mes scripts sous bash!

Hors ligne

#18 Le 27/01/2007, à 13:33

skateinmars

Re : [Résolu] Equivalent de la commande pause du DOS

C'est n'importe quoi de changer le lien symbolique de dash vers bash.
Dash est choisi car il est sh compliant, et qu'il est bien plus rapide que bash.

Si on veut créer un script qui utilise des particularités de bash, on indique /bin/bash en shebang voila tout roll

Hors ligne

#19 Le 30/01/2007, à 00:33

djoole

Re : [Résolu] Equivalent de la commande pause du DOS

Je viens de relire, et personne n'a parlé de toucher au lien symbolique de sh, juste d'utiliser #!/bin/dash plutot que #!/bin/sh

Hors ligne

#20 Le 25/10/2009, à 23:56

Honorat

Re : [Résolu] Equivalent de la commande pause du DOS

kaworu a écrit :

Ta situation est "étrange" car dans le guide que je quote (l'excellent guide sur Bash) il est en faite dis que l'on peut faire :

alex@gentoo ~ $ read 
tatin !
alex@gentoo ~ $ echo $REPLY
tatin !
alex@gentoo ~ $

et ça marche chez moi.

Slt Kaworu,
j'aimerais que que tu nous donnes plus de précision sur ton excellent guide sur Bash parce que je voudrais tout savoir sur le bash et j'aurai besoin d'un excellent guide.

Merci d'avance


/ Pour trouver sans chercher il faut \         \ (__)
| avoir longtemps chercher sans      |          (oo)
\ trouver...                                 /    /------\/
--------------------------------------     / |    ||

Hors ligne

#21 Le 26/10/2009, à 02:15

HP

Re : [Résolu] Equivalent de la commande pause du DOS

kaworu a écrit :

Essaye de remplacer #!/bin/sh par #!/bin/bash :

#!/bin/bash
read

et ça devrait marcher wink

#!/usr/bin/env bash

C'est plus propre… et plus portable… wink


cat /dev/urandom >/dev/null 2>&1 #github

Hors ligne

#22 Le 26/10/2009, à 13:24

Totor

Re : [Résolu] Equivalent de la commande pause du DOS

Bonjour,

Je sais que le sujet date mais pour apporter une précision à la demande initiale, voilà, il me semble, quelque chose qui se rapproche du "pause" MSDOS :

#!/bin/bash
read -s -n1 -p "Appuyez sur une touche pour continuer..."; echo

-- Lucid Lynx --

Hors ligne