擅长:python、mysql、java
<p>根据<a href="https://docs.python.org/2/library/subprocess.html#subprocess.Popen" rel="nofollow">^{<cd1>}</a>,Python脚本中使用的shell是<code>sh</code>。这个shell是POSIX标准,与Bash不同,Bash有几个非标准特性,比如速记重定向<code>&> /dev/null</code>。<code>sh</code>,bourneshell,将这个符号解释为“在后台运行我,并将stdout重定向到/dev/null”。在</p>
<p>由于您的<code>subprocess.Popen</code>打开了一个在其自身背景下运行<code>ls</code>的{<cd2>},因此使用<code>sh</code>的返回值,而不是{<cd7>},在本例中为0。在</p>
<p>如果您希望Python具有Bash行为,我相信您可能需要重新配置(可能重新编译)Python本身。只使用<code>sh</code>语法更简单,即<code>ls /dev/dsk 2> /dev/null</code>。在</p>