Odpowiedzi:
Zawiń to w sh -c:
nohup sh -c 'wget "$0" && wget "$1"' "$url1" "$url2" > /dev/null &
Inni już odpowiedzieli na temat nohup. Jako praktyczny marginesie: polecam robić tego typu rzeczy W ciągu screenlub tmuxsesji. W ten sposób możesz rozłączyć, a następnie połączyć ponownie później i zobaczyć wynik i wynik końcowy.
Byłoby to prostsze:
nohup sh -c "wget $url && wget $url2" > /dev/null 2>&1 &
Może to jednak powodować problemy, jeśli adresy URL zawierają znaki specjalne, więc dla bezpieczniejszej opcji możesz użyć:
nohup sh -c "wget \"$url\" && wget \"$url2\"" > /dev/null 2>&1 &
sh -codbywa się za pomocą odrębnych argumentów, które mogą być dostępne za pośrednictwem parametrów pozycyjnych ( $0, $1...). Nie ma łatwego ani prostego sposobu poprawnego cytowania argumentów do parsowania łańcucha. Próba użycia podwójnych cytatów ze znakiem ucieczki kończy $urlsię niepowodzeniem, jeśli sama zawiera podwójne cudzysłowy. Spróbuj a='problem"'; sh -c "echo \"$a\""sam i przekonaj się - powinien pojawić się błąd składni, ponieważ sh -cpróbuje się uruchomić echo "problem"".
$urli $url2są stosowane.