Каковы эти дополнительные выходные строки в bash?

9

Некоторое время эти строки можно увидеть после запуска команды (случайным образом):

[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

Первая строка - это сама команда & amp; это не происходит всегда. Но время от времени приложение командной строки останавливается, не возвращаясь в командную строку, пока я не нажму кнопку enter; который показывает эти строки.

Моя система не вела себя так, как неделю назад. Это проблема?

    
задан Kaveh Shahbazian 15.04.2016 в 06:50
источник

1 ответ

20

Вы, вероятно, выпустили такую ​​команду:

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

Эта команда содержит специальный символ & , который используется для одновременного запуска нескольких процессов . Эта команда интерпретируется как три (или более) команды:

# 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

Вот пример, который может помочь вам лучше понять:

# Here I'm launching three 'echo' commands, the first two in background, the third in foreground
[email protected]:~$ 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
[email protected]:~$ 
[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

Вы должны правильно указывать URL-адреса, чтобы избежать этого и других неприятных эффектов:

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 15.04.2016 в 06:56
источник