Necesito ejecutar múltiples comandos usando nohup
. Cada comando debe ejecutarse después del comando anterior.
Usé este comando como ejemplo:
nohup wget $url && wget $url2 > /dev/null 2>&1 &
Sin embargo, ese comando no funcionó.
¿Qué comando debo usar para este propósito?
shell
command-line
nohup
Ehsan
fuente
fuente
¿No sería mucho más sencillo crear su lista de comandos en un archivo shell separado, por ejemplo, command.sh, sin ningún tipo de nohup?
Entonces llamas:
fuente
Otros ya han respondido sobre
nohup
. Como nota al lado práctico: Yo recomiendo hacer este tipo de cosas dentro de unascreen
otmux
sesión. De esa manera puede desconectarse, luego volver a conectarse más tarde y ver la salida y el resultado final.fuente
Sería más simple así:
Sin embargo, esto puede causar problemas si las URL contienen caracteres especiales, por lo que para una opción más segura puede usar:
fuente
sh -c
es a través de argumentos separados, que pueden ser accesibles a través de los parámetros posicionales ($0
,$1
, ...). No hay una manera fácil o sencilla de citar argumentos correctamente para el análisis de cadenas. Su intento de utilizar comillas dobles escapadas falla si en$url
sí contiene comillas dobles. Pruébeloa='problem"'; sh -c "echo \"$a\""
usted mismo y vea: debería obtener un error de sintaxis porquesh -c
intenta ejecutarseecho "problem""
.$url
y$url2
se utilizan.