Những dòng đầu ra thêm trong bash là gì?


9

Đôi khi, những dòng này có thể được nhìn thấy sau khi chạy lệnh (ngẫu nhiên):

[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

Dòng đầu tiên là lệnh và nó không xảy ra luôn. Nhưng thỉnh thoảng một ứng dụng dòng lệnh dừng lại mà không quay lại dòng lệnh, cho đến khi tôi nhấn enter; trong đó cho thấy những dòng này.

Hệ thống của tôi đã không hoạt động như vậy cho đến một tuần trước. Đây co phải vân đê?

Câu trả lời:


20

Bạn có thể đã ban hành một lệnh như thế này:

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

Lệnh đó chứa ký tự đặc biệt &, được sử dụng để chạy đồng thời nhiều tiến trình . Lệnh đó đang được hiểu là ba (hoặc nhiều) lệnh:

# 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

Đây là một ví dụ có thể giúp bạn hiểu rõ hơn:

# 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

Bạn nên trích dẫn đúng URL để tránh điều này và các hiệu ứng khó chịu khác:

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
Tuy nhiên, một lý do khác khiến bạn không bao giờ nên sao chép một cách mù quáng các lệnh thiết bị đầu cuối ... Ai đó có thể tạo một số urlurur.com/index.php&malicy-command-here và mọi người sẽ chạy nó và phá vỡ hệ thống của họ.
Nzall
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.