#1 Le 27/10/2006, à 13: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... ) à 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....
Toute proposition est la bienvenue, merci.
Dernière modification par Skippy le Grand Gourou (Le 30/10/2006, à 12:04)
Hors ligne
#2 Le 28/10/2006, à 16: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, à 11: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, à 18: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, à 12: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 !
foobar2000 > Je sais, le problème était celui expliqué par snapshot.
Hors ligne