Como executar o comando múltiplo usando nohup

35

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?

    
por Ehsan 05.09.2012 / 16:02

4 respostas

48

Quebra em sh -c :

nohup sh -c 'wget "$0" && wget "$1"' "$url1" "$url2" > /dev/null &
    
por 05.09.2012 / 16:06
4

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.

    
por 05.09.2012 / 17:38
3

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
    
por 13.03.2013 / 09:47
0

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 &
    
por 05.09.2012 / 17:11