cmd/go/internal/envcmd: double check plan 9 behavior in PrintEnv when null byte present in value

webghufk  于 5个月前  发布在  Go
关注(0)|答案(4)|浏览(73)

我们希望一位计划9Maven能对此进行双重检查:在cmd/go/internal/envcmd/env.go中的PrintEnv中,计划9的处理行为是基于是否存在空字节而不同的。如果不存在空字节,它会对字符串进行引用;如果不存在,则将它们放入括号列表中,但不会对列出的每个字符串进行引用。我们希望确保不对列表中的每个字符串进行引用是预期的行为。

j1dl9f46

j1dl9f461#

这是在https://go.dev/cl/488375 / #58508的背景下。
(注意@golang/plan9)

cuxqih21

cuxqih212#

在实践中,只有GOPATH可能具有列表值,如果路径中的Plan 9目录名需要引号,很可能会引发各种问题。但从理论上讲,例如,一个目录的名称中可能包含空格(从另一个操作系统导入?),如果不加引号,意味着go env的输出无法安全地在shell中执行以正确分配GOPATH。
因此,我的观点是列表元素应该分别加引号。

t98cgbkg

t98cgbkg3#

我怀疑Russ是Go团队中唯一熟悉Plan 9 shell并能实施引用的人,但如果有人想在CL 488375合并后贡献一个修复,我很乐意审查它。

dxxyhpgq

dxxyhpgq4#

如果有人想在CL 488375合并后提供修复,我将很高兴审查它。我会做的。

相关问题