Es ist ziemlich einfach, einen Prozess im Hintergrund in Bash auszuführen.
$ echo "Hello I'm a background task" &
[1] 2076
Hello I'm a background task
[1]+ Done echo "Hello I'm a background task"
Die Ausgabe ist jedoch ausführlich. In der ersten Zeile werden die Job-ID und die Prozess-ID der Hintergrundaufgabe gedruckt, dann haben wir die Ausgabe des Befehls, schließlich haben wir die Job-ID, ihren Status und den Befehl, der den Job ausgelöst hat.
Gibt es eine Möglichkeit, die Ausgabe einer Hintergrundaufgabe so zu unterdrücken, dass die Ausgabe genauso aussieht wie ohne das kaufmännische Und am Ende? Dh:
$ echo "Hello I'm a background task" &
Hello I'm a background task
Der Grund, den ich frage, ist, dass ich einen Hintergrundprozess als Teil eines Tab-Vervollständigungsbefehls ausführen möchte, sodass die Ausgabe dieses Befehls nicht unterbrochen werden muss, um einen Sinn zu ergeben.