Pregunta
Tengo un script en perl para que ENV variables puede ser configurado para dirigir salidas específicas por ejemplo,debug$, $verbose, $desarrollan etc
Por lo general, ejecutar estos desde la línea de comandos
$ VERBOSE=1 perl myperlscript.pl params
Ahora quiero ejecutar utilizando nohup.Mediante la línea de comandos
$ nohup VERBOSE=1 perl myperlscript.pl params
está claro que no es derecho, como el intento de establecer ENV{DETALLADO} se interpreta como un parámetro para nohup & me sale el msj
nohup:error al ejecutar el comando `VERBOSE=1':No existe el fichero o el directorio
¿Cuál ES la sintaxis correcta aquí?Estoy tratando de ejecutar esto en un cuadro de linux.
Solución
Establezca la variable de entorno antes de llamar nohup
, y será preservada cuando nohup
exec()s (sustituye a sí mismo con) perl
.
$ VERBOSE=1 nohup perl myscript.pl params ...
Otros consejos
Esto es exactamente lo que el env
comando es para:
$ env VAR1=VAL1 VAR2=VAL2 nohup perl myperlscript.pl params &
Trate de combinar todos los comandos en shell script y ejecutarlo como que:nohup /path/to/script.sh
O usted podría utilizar la exportación:exportación VERBOSE=1 Y luego:nohup perl myperlscript.pl params