Re...
J'ai oublié de demander au érudits : insérer des lignes vierges dans le script :
mon script commence a peu près comme ça :
#!bin/bash
# commentaire
echo -n "appuyer sur C!"
read C
echo -n "le floppy se monte"
etc etc
ce qui donne qd je le lance :
$ appuyer sur C!
$ le floppy se monte
donc je voudrais mettre une ligne entre les deux ou genre un delay ou un truc comme ça...Ou bien comme sous dos, les petits points défilants...........le tps que le floppy se monte...
si vous voyez ce que je veux dire :0(
merci bcp
Johan
# option -n
Posté par goeb . Évalué à 1.
echo -n "Appuyez..."
utilise plutôt :
echo "Appuyez..."
(sans l'option -n).
En effet, l'option -n sert à indiquer qu'on ne veut pas de retour à la ligne après ce qu'on écrit.
[^] # Re: option -n
Posté par jledu . Évalué à 1.
Est ce que tu aurais une idée pour le laps de temps que je voudrais insérer pendant que le floppy se monte ? stp
Merci
johan
[^] # Re: option -n
Posté par liberforce (site web personnel) . Évalué à 2.
mount /mnt/floppy
La commande ne sortira pas tant que la disquette ne sera pas montée, ou bien elle retournera une erreur au bout d'un temps défini (timeout). Je t'avoue que je ne sais pas si le coup des points c'est faisable (simplement) en shell...
Donc pas besoin de delai, une fois sorti du mount, tu sais si la commande a marché ou pas en testant sa valeur de retour, ou en testant la variable $? qui contient toujours la valeur de retour de la dernière commande lancé.
Je te conseille la lecture de ce guide bash:
http://www.bsdbooks.net/shells/scripting/fr/
ou si tu maitrisses l'anglais (version originale plus à jour)
http://www.tldp.org/LDP/abs/html/index.html
[^] # Re: option -n
Posté par skeespin (site web personnel) . Évalué à 3.
PS: J'ai pas testé mais on doit pas être loin du script
[^] # Re: option -n
Posté par Obsidian . Évalué à 2.
while $(ps $pid > /dev/null) ; do echo -n "." ; sleep 1 ; done
... suffit. Mais ça reste sale.
# sans garantie
Posté par didit . Évalué à 2.
#!/bin/bash
mount /floppy &
NB=`ps | grep $! | wc -l`
while [ $NB -ge 2 ]; do
echo -en .
NB=`ps aux | grep $! | wc -l`
done
echo
$! est le "PID de la commande (asynchrone) exécutée en
arrière-plan le plus récemment" d'après man bash.
[^] # Re: sans garantie
Posté par Bastien Mourgues . Évalué à 3.
mount /floppy&
MOUNT_PID=$!
while kill -0 $MOUNT_PID &>/dev/null
do
echo -n "."
sleep 1
done
echo
kill vérifie la présence du processus lancé en tache de fond, et renvoie ok tant qu'il existe.
avec -0 aucun signal n'est envoyé au pid cible.
[^] # Re: sans garantie
Posté par jledu . Évalué à 1.
Je vais m'arranger avec toutes ces infos...
J'ai cru lire (mais comme je lis un peu à l'envers ces temps ci :O) que pour monter un floppy dans dans un script il fallait écrire : mount /dev/fd0
Est ce que les deux cmd (mount/dev/fd0 ou monut/floppy) ont le même aboutissant ?
quant à l'anglais, anyway, j'ai passé 17 en amérique du Nord ;O) sans fausse modestie bien sur...
tks a lot
Johan
[^] # Re: sans garantie
Posté par jledu . Évalué à 1.
donc...
while kill -0 $MOUNT_PID &>/dev/null
do
echo -n "."
sleep 1
done
echo
elle fonctionne, je n'ai qu'1 point, mais c un bon début. :O))
Il me reste à définir pkoi la cmd mount ne fonctionne pas...
j'ai essayé avec les deux cmd /floppy et dev/fd0 ?!?!?!
Je persévere :O)
Merci encore tt le monde, j'ai bien fait de m'inscrire sur ce forum...
Johan
[^] # Re: sans garantie
Posté par Ben (site web personnel) . Évalué à 3.
mais si tu n'as rien dans ta fstab conernat la disquette, tu dois spécifier à mount tous les parametres:
# mount -t msdos /dev/fd0 /floppy
Tout homme qui dirige, qui fait quelque chose, a contre lui ceux qui voudraient faire la même chose, ceux qui font précisément le contraire, et surtout la grande armée des gens d'autant plus sévères qu'ils ne font rien du tout. -- Jules Claretie
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.