bash "&" ohne Druck "[1] + Fertig"

8

Ich rufe ein Skript in meiner .bashrc an, um die Anzahl der neuen Nachrichten auszudrucken, die ich beim Öffnen des Terminals habe. Ich möchte, dass der Anruf nicht blockiert wird, da er auf das Netzwerk zugreift und manchmal ein paar Sekunden dauert Verwenden Sie das Terminal, bis es abgeschlossen ist.

Aber wenn ich sage:

%Vor%

in meinem bashrc, es funktioniert gut. aber dann druckt eine leere Zeile und ich habe wenn ich die Eingabetaste drücke und es

drücke %Vor%

Das ist sehr unordentlich, gibt es einen Weg um dies?

    
Richard Mosse 03.05.2012, 21:29
quelle

4 Antworten

9

Diese Nachricht kommt nicht von der Mailcheck, sondern von bashs Jobsteuerung, die Ihnen von Ihrem Hintergrundjob erzählt. Der Weg, dies zu vermeiden, besteht darin, bash zu sagen, dass es nicht von der Jobsteuerung verwaltet werden soll:

%Vor%     
Gordon Davisson 03.05.2012, 21:52
quelle
4

Das scheint zu funktionieren:

%Vor%     
Paul R 03.05.2012 21:48
quelle
3

Sie können Ihr Skript wie folgt aufrufen:

%Vor%     
anubhava 03.05.2012 21:40
quelle
2

Versuchen Sie, stderr nach / dev / null zu leiten.

%Vor%

Wenn Sie ein paar Minuten darüber nachdenken, könnte eine andere Möglichkeit darin bestehen, zu schreiben.
Verteilen Sie die Ausgabe der Hintergrundaufgabe an sich selbst, so dass sie jederzeit abgeschlossen werden kann und Sie jede zusätzliche Ausgabe von stdout und stderr aussortieren können.

%Vor%     
Jason Morgan 03.05.2012 21:38
quelle

Tags und Links