Câu trả lời:
Gói nó trong sh -c
:
nohup sh -c 'wget "$0" && wget "$1"' "$url1" "$url2" > /dev/null &
Những người khác đã trả lời về nohup
. Như một lưu ý phụ thực tế: Tôi khuyên bạn nên thực hiện loại điều này trong một screen
hoặc một tmux
phiên. Bằng cách đó bạn có thể ngắt kết nối, sau đó kết nối lại sau và xem kết quả đầu ra và kết quả cuối cùng.
Nó sẽ đơn giản hơn như thế này:
nohup sh -c "wget $url && wget $url2" > /dev/null 2>&1 &
Tuy nhiên, điều này có thể gây ra sự cố nếu các URL chứa các ký tự đặc biệt để có thể sử dụng tùy chọn an toàn hơn:
nohup sh -c "wget \"$url\" && wget \"$url2\"" > /dev/null 2>&1 &
sh -c
là thông qua đối số riêng biệt, có thể được truy cập thông qua các tham số vị trí ( $0
, $1
, ...). Không có cách dễ dàng hoặc đơn giản để trích dẫn các đối số đúng cho phân tích chuỗi. Nỗ lực của bạn để sử dụng dấu ngoặc kép đã thoát không thành công nếu $url
bản thân nó có chứa dấu ngoặc kép. Hãy a='problem"'; sh -c "echo \"$a\""
tự thử và xem - bạn sẽ gặp lỗi cú pháp vì sh -c
cố chạy echo "problem""
.
$url
và $url2
được sử dụng.