Sublime build exec命令数组

时间:2016-03-07 10:48:56

标签: sublimetext2

我很困惑为什么Sublime Text 2构建系统倾向于将exec命令作为数组。虽然这是在docs(和works)中提出的,但只是将命令作为字符串也可以正常工作,并且(在我看来)更直接。

http://docs.sublimetext.info/en/latest/reference/build_systems/exec.html

1 个答案:

答案 0 :(得分:1)

Sublime Text构建系统使用subprocess.Popen,它建议使用数组。否则,解释依赖于平台。

引自python 2 subprocess documentation

  

args应该是一系列程序参数或者是一个单独的字符串。默认情况下,如果args是序列,则要执行的程序是args中的第一项。如果args是一个字符串,则解释依赖于平台(...)。除非另有说明,否则建议将args作为序列传递。

其他重要的引用(感谢@Dimpl指出这一点):

  

shell参数(默认为 False )指定是否将shell用作要执行的程序。如果shell是 True ,建议将args作为字符串而不是序列传递。

如果对shell_cmd使用cmd False ,则shell参数设置为 True 。因此,基于引用,我建议使用cmd的数组和shell_cmd的字符串。