Eu preciso executar vários comandos usando nohup
. Cada comando deve ser executado após o comando anterior.
Eu usei este comando como um exemplo:
nohup wget $url && wget $url2 > /dev/null 2>&1 &
No entanto, esse comando não funcionou.
Que comando devo usar para esse fim?
shell
command-line
nohup
Ehsan
fonte
fonte
Não seria muito mais simples criar sua lista de comandos em um arquivo shell separado, por exemplo, command.sh, sem nenhum nohup.
Então você chama:
fonte
Outros já responderam
nohup
. Como uma observação prática: eu recomendo fazer esse tipo de coisa em umascreen
outmux
sessão. Dessa forma, você pode desconectar e reconectar mais tarde e ver a saída e o resultado final.fonte
Seria mais simples assim:
No entanto, isso pode causar problemas se os URLs contiverem caracteres especiais, portanto, para uma opção mais segura, você pode usar:
fonte
sh -c
é através de argumentos separados, que podem ser acessados através dos parâmetros de posição ($0
,$1
...). Não há uma maneira fácil ou simples de citar argumentos corretamente para análise de string. Sua tentativa de usar aspas duplas escapadas falhará se$url
ela própria contiver aspas duplas. Tentea='problem"'; sh -c "echo \"$a\""
você mesmo e veja - você deve receber um erro de sintaxe porquesh -c
tenta executarecho "problem""
.$url
e$url2
ser usado.