I have a perl script for which ENV variables can be set to direct specific outputs e.g. $debug, $verbose, $develop etc
Usually I run these from the command line
$ VERBOSE=1 perl myperlscript.pl params
I now want to run them using nohup. Using the command line
$ nohup VERBOSE=1 perl myperlscript.pl params
is clearly not right, as the attempt to set ENV{VERBOSE} is interpreted as a param to nohup & I get the msg
nohup: failed to run command `VERBOSE=1': No such file or directory
What IS the correct syntax here? I'm trying to run this on a linux box.
Set the environment variable before calling
nohup
, and it will be preserved whennohup
exec()s (replaces itself with)perl
.Try to combine all commands into shell script and run it like that: nohup /path/to/script.sh
Or you could use export: export VERBOSE=1 And then: nohup perl myperlscript.pl params
This is exactly what the
env
command is for: