正在尝试运行以下内容:
command = "for i in `/bin/generateItems` ; do ; echo $i ; /bin/somecommand $i; done"
p = subprocess(command, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
stdout, stderr = p.communicate()
我得到以下错误: 没有这样的文件或目录
但是,当我在do removed之后使用分号运行完全相同的代码时,它可以工作:
command = "for i in `/bin/generateItems` ; do ; echo $i ; /bin/somecommand $i; done"
p = subprocess(command, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
stdout, stderr = p.communicate()
有人能解释一下为什么会这样吗?我能做些什么让命令在do之后使用分号吗?在
在bash中,在
do
和块中的第一个命令之间使用除换行符之外的命令分隔符是无效的。在相关问题 更多 >
编程相关推荐