Quelles sont ces lignes de sortie supplémentaires dans bash?


9

C'est pendant un certain temps que ces lignes peuvent être vues après l'exécution d'une commande (au hasard):

[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

La première ligne est la commande elle-même et cela ne se produit pas toujours. Mais de temps en temps, une application de ligne de commande s'arrête sans revenir à la ligne de commande, jusqu'à ce que j'appuie sur Entrée; qui montre ces lignes.

Mon système ne s'est comporté comme ça que la semaine dernière. Est-ce un problème?

Réponses:


20

Vous avez probablement lancé une commande comme celle-ci:

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

Cette commande contient le caractère spécial &, qui est utilisé pour exécuter plusieurs processus simultanément . Cette commande est interprétée comme trois commandes (ou plus):

# 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

Voici un exemple qui peut vous aider à mieux comprendre:

# 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

Vous devez citer correctement les URL pour éviter cela et d'autres effets désagréables:

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'

6
Encore une autre raison pour laquelle vous ne devriez jamais copier-coller aveuglément des commandes de terminal ... Quelqu'un pourrait créer une URL someurl.com/index.php&malicious-command- ici et les gens l'exécuteraient et casseraient leur système.
Nzall
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.