View previous topic :: View next topic |
Author |
Message |
bulki Guru
Joined: 25 Nov 2004 Posts: 529 Location: SiliconValley
|
Posted: Sat Nov 14, 2009 8:37 am Post subject: [Bash]: processus en background > /dev/null (résolu) |
|
|
Salut tout le monde,
je n'arrive pas à enlever l'output, quand je fais ça par exemple:
Code: |
> emacs hello.txt
[2] 5063 <--------------- Je veux pas que ça se display !!
|
Bref, enlever le [2] 5063 qui apparait tout le temps. J'ai essayé de piper un peu dans tous les sens, mais ça n'a rien donné.
Une idée ?
Merci
EDIT: je veux encore moins qu'il me dise "DONE" quand c'est fini, merci
Last edited by bulki on Mon Nov 16, 2009 1:56 pm; edited 3 times in total |
|
Back to top |
|
|
rg421 Apprentice
Joined: 07 Dec 2004 Posts: 192 Location: Strasbourg
|
Posted: Sat Nov 14, 2009 11:59 am Post subject: Re: [Bash]: processus en background > /dev/null |
|
|
Salut,
Je ne sais pas si ça t'aide mais ça n'arrive qu'en mode interactif. Donc avec un sous-shell...
Code: | ~/test $ ls
fichier
~/test $ ls &
[1] 6379
~/test $ fichier
[1]+ Done ls --color=auto
~/test $ (ls &)
~/test $ fichier
~/test $ |
Le fait de passer par un sous-shell va t'enlever les messages. Pareil sur un script
Code: | ~/test $ echo -e '#!/bin/bash\nls &' >list.sh
~/test $ chmod +x list.sh
~/test $ ./list.sh
~/test $ fichier list.sh
~/test $ |
|
|
Back to top |
|
|
geekounet Bodhisattva
Joined: 11 Oct 2004 Posts: 3772 Location: Wellington, Aotearoa
|
Posted: Sat Nov 14, 2009 1:13 pm Post subject: |
|
|
D'après le man bash, un set +o monitor désactive (oui le + désactive, c'est parfaitement logique bash...) le mode monitor qui cause l'affichage des jobs. Après avoir testé, l'option monitor se retrouve bien désactivée (vérifiable avec set -o) mais ça continue d'afficher le job... Vraiment bien foutu ce shell...
Sinon avec zsh, unsetopt monitor (ou setopt nomonitor) désactive bien le mode monitor et le job ne s'affiche pas. (et la commande est logique ) |
|
Back to top |
|
|
bulki Guru
Joined: 25 Nov 2004 Posts: 529 Location: SiliconValley
|
Posted: Sun Nov 15, 2009 3:54 pm Post subject: |
|
|
Excellent, merci pour vos réponses |
|
Back to top |
|
|
bulki Guru
Joined: 25 Nov 2004 Posts: 529 Location: SiliconValley
|
Posted: Sun Nov 15, 2009 4:29 pm Post subject: |
|
|
En fait, je profite de ce thread pour poser une autre question relative à Bash. En fait, je me demandais si c'était possible que quand on exécute une commande, il ne retourne pas à la ligne d'en dessous, mais à la même ligne.
Exemple:
Code: |
> ls
[blabla]
> # Voilà, retourné à la ligne
|
Mais plutot:
Code: |
> <----------- le ls a été "mangé" par le prompt suivant
[blabla]
|
L'idée c'est que j'ai un espace très limité et j'aimerais bien le maximiser. Est-ce que c'est possible de changer de comportement facilement ?
Merci bien |
|
Back to top |
|
|
rg421 Apprentice
Joined: 07 Dec 2004 Posts: 192 Location: Strasbourg
|
Posted: Mon Nov 16, 2009 9:16 am Post subject: |
|
|
Ce n'est pas une question relative à bash mais relative au terminal Bash ne fait qu'interpréter les commandes, leur disposition dans un terminal ne relève pas de lui.
Il faut te tourner vers la commande tput. C'est elle qui communique (de façon sommaire) avec les tty. Attention, les standards sont rarement respecté dans ce domaine. A toi de tester.
La littérature se trouve sous Code: | $ man tput
$ man 5 terminfo |
Par exemple, dans un vt gnome le code
Code: | $ ls && tput cup 0 0 && tput el | fait ce que tu demandes à condition qu'il n'y ai pas de défilement. Sinon, c'est crade: tu te retrouves avec ton prompt au milieu de ton stdout.
Maintenant, vue le souk que c'est, je te conseille de passer sous ncurses en C si tu tiens à ta ligne supplémentaire. Mais, tout de suite, ça fait plus de boulot. |
|
Back to top |
|
|
bulki Guru
Joined: 25 Nov 2004 Posts: 529 Location: SiliconValley
|
Posted: Mon Nov 16, 2009 1:55 pm Post subject: |
|
|
Merci ! Je connaissais pas du tout tput ! |
|
Back to top |
|
|
|