我有一个perl脚本,可以将ENV变量设置为指向特定输出,例如$ debug,$ verbose,$ develop等
通常我从命令行运行它们
$ VERBOSE=1 perl myperlscript.pl params
Run Code Online (Sandbox Code Playgroud)
我现在想用nohup来运行它们.使用命令行
$ nohup VERBOSE=1 perl myperlscript.pl params
Run Code Online (Sandbox Code Playgroud)
显然是不对的,因为设置ENV {VERBOSE}的尝试被解释为nohup的一个参数并且我获得了msg
nohup:无法运行命令`VERBOSE = 1':没有这样的文件或目录
这里的语法是什么?我试图在Linux机器上运行它.
我有一个将 2 项列表生成为[datestamp, timestamp]
.
如果我将其放入列表理解中:
[(ds,ts) for ds,ts in process]
Run Code Online (Sandbox Code Playgroud)
我想要的结果是:
[(ds,ts), (ds,ts), (ds,ts)]
Run Code Online (Sandbox Code Playgroud)
我得到的是ValueError: too many values to unpack
.
这是因为for
循环迭代到进程返回的列表中:
for ds,ts in [datestamp, timestamp]
Run Code Online (Sandbox Code Playgroud)
不分配ds=datestamp
,ts=timestamp
但在每个字母,而迭代...如果这个工作它会给(d,t)
,(a,i)
,(t,m)
,(e,e)
等
所以我知道出了什么问题……但不知道如何进行这项工作!(是的,这确实让人觉得很傻……我知道答案很简单