Shell nohup VERBOSE=1 perl script.pl
我有一个perl脚本,可以为其设置ENV变量以直接指定输出 e、 g.$debug、$verbose、$develop等 通常我从命令行运行这些Shell nohup VERBOSE=1 perl script.pl,shell,nohup,Shell,Nohup,我有一个perl脚本,可以为其设置ENV变量以直接指定输出 e、 g.$debug、$verbose、$develop等 通常我从命令行运行这些 $ VERBOSE=1 perl myperlscript.pl params 我现在想用nohup运行它们。使用命令行 $ nohup VERBOSE=1 perl myperlscript.pl params 显然是不对的,因为设置ENV{VERBOSE}的尝试被解释为nohup的一个参数&我得到消息 nohup:无法运行命令“VERBOSE
$ VERBOSE=1 perl myperlscript.pl params
我现在想用nohup运行它们。使用命令行
$ nohup VERBOSE=1 perl myperlscript.pl params
显然是不对的,因为设置ENV{VERBOSE}的尝试被解释为nohup的一个参数&我得到消息
nohup:无法运行命令“VERBOSE=1”:没有这样的文件或目录
这里的正确语法是什么?我正试图在linux机器上运行它。在调用
nohup
之前设置环境变量,当nohup
exec()s(将自身替换为)perl
时,它将被保留
$ VERBOSE=1 nohup perl myscript.pl params ...
尝试将所有命令组合到shell脚本中,并按如下方式运行: nohup/path/to/script.sh 或者您可以使用导出: 导出详细信息=1 然后:
nohup perl myperlscript.pl参数这正是
env
命令的作用:
$ env VAR1=VAL1 VAR2=VAL2 nohup perl myperlscript.pl params &