擅长:python、mysql、java
<p>默认情况下,<code>subprocess.Popen</code>有{<cd2>}。<code>check_output</code>函数将其参数传递给<code>Popen</code>,因此这里也得到了{<cd2>}。在不调用shell的情况下,每个参数都被无意识地传递给<code>cleartool</code>。从shell运行时,命令:</p>
<pre><code>cleartool find ... -name '*.elf' -version "lbtype(CXC1111-111)" ...
</code></pre>
<p>(为使其在窗口中更适合,截断了位),单引号和双引号被shell去掉,这样<code>cleartool</code>只得到<code>*.elf</code>和{<cd9>}。这些是您需要通过<code>shell=False</code>传递的字节序列。(保留<code>shell=False</code>可能是最好的;如果将其设置为<code>True</code>,则必须将命令粘贴到单个字符串中并引用shell元字符。)</p>