我有一个perl脚本,可以将ENV变量设置为直接特定的输出,例如$debug、$verbose、$develop等
通常我从命令行运行这些命令。
$ VERBOSE=1 perl myperlscript.pl params
现在我想使用nohup来运行它们。使用命令行
$ nohup VERBOSE=1 perl myperlscript.pl params
显然是不正确的,因为设置ENV{VERBOSE}的尝试被解释为nohup的参数&我得到了msg
nohup:无法运行命令` `VERBOSE=1':没有这样的文件或目录
这里的正确语法是什么?我正试着在linux机器上运行它。
发布于 2012-01-12 03:38:41
在调用nohup
之前设置环境变量,当nohup
exec()s ()将其自身替换为perl
时,它将被保留。
$ VERBOSE=1 nohup perl myscript.pl params ...
发布于 2012-01-12 05:50:14
这正是env
命令的用途:
$ env VAR1=VAL1 VAR2=VAL2 nohup perl myperlscript.pl params &
发布于 2012-01-12 03:39:10
尝试将所有命令组合到shell脚本中并像这样运行它: nohup /path/ to /script.sh
或者可以使用export: export VERBOSE=1,然后使用: nohup perl myperlscript.pl params
https://stackoverflow.com/questions/8825460
复制相似问题