Quebra em sh -c
:
nohup sh -c 'wget "$0" && wget "$1"' "$url1" "$url2" > /dev/null &
Eu preciso executar vários comandos usando nohup
. Cada comando deve ser executado após o comando anterior.
Eu usei esse comando como exemplo:
nohup wget $url && wget $url2 > /dev/null 2>&1 &
No entanto, esse comando não funcionou.
Qual comando devo usar para esse propósito?
Outros já responderam sobre nohup
. Como uma nota prática: eu recomendo fazer esse tipo de coisa dentro de uma sessão screen
ou tmux
. Dessa forma, você pode desconectar e reconectar mais tarde e ver a saída e o resultado final.
Não seria muito mais simples criar sua lista de comandos em um arquivo shell separado, por exemplo? command.sh, sem qualquer nohup.
Então você chama:
nohup bash command.sh
Seria mais simples assim:
nohup sh -c "wget $url && wget $url2" > /dev/null 2>&1 &
Isso, no entanto, pode causar problemas se os URLs contiverem caracteres especiais, portanto, para uma opção mais segura, você pode usar:
nohup sh -c "wget \"$url\" && wget \"$url2\"" > /dev/null 2>&1 &
Tags command-line nohup shell