Was sind diese zusätzlichen Ausgabezeilen in Bash?

9

Es ist für einige Zeit, dass diese Zeilen nach dem Ausführen eines Befehls (zufällig) angezeigt werden:

[1]-  Done                    wget -c http://downloads.sourceforge.net/project/zorin-os/9/zorin-os-9-core-32.iso?r=http%3A%2F%2Fzorinos.com%2Fdownload9.html
[2]+  Done                    ts=1460659842

Die erste Zeile ist der Befehl selbst und es passiert nicht immer. Aber von Zeit zu Zeit stoppt eine Befehlszeilen-App, ohne zur Befehlszeile zurückzukehren, bis ich die Eingabetaste drücke. das zeigt diese Zeilen.

Mein System hat sich erst vor einer Woche so verhalten. Ist das ein Problem?

Kaveh Shahbazian
quelle

Antworten:

20

Sie haben wahrscheinlich einen Befehl wie diesen ausgegeben:

wget -c http://downloads.sourceforge.net/project/zorin-os/9/zorin-os-9-core-32.iso?r=http%3A%2F%2Fzorinos.com%2Fdownload9.html&ts=1460659842&something-else

Dieser Befehl enthält das Sonderzeichen &, mit dem mehrere Prozesse gleichzeitig ausgeführt werden . Dieser Befehl wird als drei (oder mehr) Befehle interpretiert:

# First command (the one that you see after [1]):
wget -c http://downloads.sourceforge.net/project/zorin-os/9/zorin-os-9-core-32.iso?r=http%3A%2F%2Fzorinos.com%2Fdownload9.html
# Second command (the one that you see after [2]):
ts=1460659842
# Third command (the one which output should be above the "Done" lines):
something-else

Hier ist ein Beispiel, das Ihnen helfen kann, besser zu verstehen:

# Here I'm launching three 'echo' commands, the first two in background, the third in foreground
andrea@andrea-laptop:~$ echo first & echo second & echo third
[1] 5033    # This is bash telling me that the first process was started with job number 1 and PID 5033
first       # This is the output from the first process
[2] 5034    # This is bash telling me that the second process was started with job number 2 and PID 5034
third       # This is the output from the third process
second      # This is the output from the second process
andrea@andrea-laptop:~$ 
[1]-  Done                    echo first    # This is bash telling me that the first background job has quit
[2]+  Done                    echo second   # This is bash telling me that the second background job has quit

Sie sollten URLs richtig zitieren, um diese und andere unangenehme Auswirkungen zu vermeiden:

wget -c 'http://downloads.sourceforge.net/project/zorin-os/9/zorin-os-9-core-32.iso?r=http%3A%2F%2Fzorinos.com%2Fdownload9.html&ts=1460659842&something-else'
Andrea Corbellini
quelle
6
Ein weiterer Grund, warum Sie Terminalbefehle niemals blind kopieren sollten ... Jemand könnte eine URL someurl.com/index.php&malicious-command-here erstellen, und die Leute würden sie einfach ausführen und ihr System beschädigen .
Nzall