Forum Programmation.shell les redirections shell >/dev/null ne marchent pas pour kwrite

Posté par  (site web personnel) .
Étiquettes : aucune
0
29
mar.
2007
Bonjour,

J'aime bien la ligne de commande mais j'aime aussi les applications graphiques, et j'ai donc créé un certain nombre de scripts shell pour ouvrir mon éditeur de texte favori en arrière plan, ouvrir mon gestionnaire de fichiers (nautilus ou thunar, selon les humeurs).

Seulement, avec kwrite, j'ai un petit problème. Voici la ligne de commande que j'utilise :

kwrite "$@" & >/dev/null 2>/dev/null </dev/null
disown 2>/dev/null


Le problème que j'ai, c'est que parfois, kwrite arrive a m'afficher des messages sur mon terminal, alors que je pensait tous les avoir redirigés sur /dev/null. Par exemple dernièrement :

kwrite: WARNING: Pixmap not found for mimetype inode/directory
ou :
kwrite: ERROR: : couldn't create slave : Cannot talk to klauncher

Je pensait que kwrite se permettait de faire des affichages directement en demandant le tty et en écrivant dessus, c'est pour cela que je redirige aussi l'entrée standard sur /dev/null (j'espère que cela a bien pour effet de supprimer le tty, je ne sais pas trop en fait)

Comme vous l'avez peut être deviné, je n'utilise pas l'environnement KDE, donc pas de processus kdeinit ou autre. Cela joue peut être je ne sais pas. Souvent, les messages affichés sont des messages de kdeinit.

Pour conclure, avez-vous une idée sur comment supprimer ces messages d'ereurs qui polluent ma fenêtre de terminal ?
Merci

Mildred
  • # & mal placé

    Posté par  (site web personnel) . Évalué à 5.

    Salut,

    Le problème est que le & est mal placé, tu dois le mettre après les redirections vers /dev/null :

    kwrite "$@" >/dev/null 2>/dev/null &
    • [^] # Re: & mal placé

      Posté par  . Évalué à 2.

      C'est tout à fait ça.

      Tout ce qui est après le "&" est considérer comme une autre commande. Donc, les redirections ne s'appliquaient pas à kwrite.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.