我試圖調試的第三方Python 2.5腳本讓我感到困惑。腳本的相關部分是:Python的subprocess.Popen()和源代碼
proc = subprocess.Popen(
"ls && source houdini_setup",
shell = True,
executable = "/bin/bash",
)
有一個守護進程監聽端口5001並運行上述腳本。當腳本運行時,它失敗,出現以下錯誤:
_cygwin.py
houdini_setup
... (more files) ...
/bin/sh: line 0: source: houdini_setup: file not found
有很多存在的文件houdini_setup,由LS所示,事實上,如果我改變「來源」爲「貓」在上面的腳本,該腳本按預期打印houdini_setup的內容。而且,在一個真正的bash shell中運行上述命令,也可以在不投訴的情況下生成文件。
有沒有人有任何想法這裏發生了什麼?
我找到的空怪 – Mauli 2010-01-10 21:02:32
發生我複製粘貼它調試;刪除行stdin = null;'不幸的是沒有任何區別。 – user168715 2010-01-10 21:04:15