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 27/10/2006, à 14:54

Skippy le Grand Gourou

[Résolu] Nouvelle ligne dans le shell en bash

Salut,

Ayant marre de taper '&' (et surtout de l'oublier et de devoir faire Ctrl-Z puis "bg" à chaque fois... roll ) à chaque fois que j'utilise un programme, je voudrais faire une fonction bash équivalente à alias nedit 'nedit \!* >/dev/null&' en csh, sauf que je suis en bash. Pour l'instant, j'ai donc dans mon .bashrc :

function nedit
{
	/usr/bin/X11/nedit $1 &
}

Sauf que quand je lance nedit, il se met bien en background sauf qu'au lieu de revenir sur le prompt, il me laisse sur

~]$ nedit: the current locale is utf8 (en_US.UTF-8)
nedit: changed locale to non-utf8 (en_US)

J'ai bien la main, mais c'est pas très présentable, je voudrais revenir à un prompt vide, genre

~]$

La seule méthode que j'ai trouvée est encore moins jolie, c'est de lui glisser une commande inconnue, et après le "command not found" de rigueur il revient sur un prompt.... hmm

Toute proposition est la bienvenue, merci.

Dernière modification par Skippy le Grand Gourou (Le 30/10/2006, à 13:04)

Hors ligne

#2 Le 28/10/2006, à 17:33

snapshot

Re : [Résolu] Nouvelle ligne dans le shell en bash

Et pourquoi ne pas faire :

function nedit
{
    /usr/bin/X11/nedit $1 >/dev/null &
}

et si le message qui te gêne est envoyé sur le canal d'erreur, il faut ajouter 2>/dev/null à la liste des redirections


Pensez à mettre [Résolu] dans le titre une fois votre problème réglé !

Hors ligne

#3 Le 29/10/2006, à 12:24

foobar2000

Re : [Résolu] Nouvelle ligne dans le shell en bash

Les alias existent sur bash !
La syntaxe :
alias monalias="macommande et ses arguments"


Aucun rapport avec le logiciel du même nom.

Hors ligne

#4 Le 29/10/2006, à 19:29

snapshot

Re : [Résolu] Nouvelle ligne dans le shell en bash

heuu.. oui c'est vrai, sauf qu'on ne peut pas mettre d'arguments dedans ! En bash, ils sont simplement ajoutés à la fin de la ligne.

Donc, si on fait alias nedit='nedit $1 >/dev/null&' et qu'on le lance avec nedit bidule.txt, le shell va en fait exécuter : nedit $1 >/dev/null& bidule.txt ce qui ne marchera pas...


Pensez à mettre [Résolu] dans le titre une fois votre problème réglé !

Hors ligne

#5 Le 30/10/2006, à 13:04

Skippy le Grand Gourou

Re : [Résolu] Nouvelle ligne dans le shell en bash

Nickel, ça marche au poil avec :

function nedit
{
        /usr/bin/X11/nedit $1 2>/dev/null &
}

Merci ! big_smile

foobar2000 > Je sais, le problème était celui expliqué par snapshot. wink

Hors ligne