在以下代码段中,如何找到make的退出代码?具体来说,我需要知道make是否失败或成功。感谢您提供任何意见。
process = pexpect.spawn("/bin/bash")
process.expect("make\r")
答案 0 :(得分:4)
pexpect不知道make
命令 - 它只是向bash发送文本。因此,您需要使用bash的机制来确定退出代码 - $?
的值。所以你想要这样的东西:
process.sendline("make") # Note: issue commands with send, not expect
process.expect(prompt)
process.sendline("echo $?")
process.expect(prompt)
exitcode = process.before.strip()
答案 1 :(得分:2)
我不得不在我的最新项目中使用pexpect并想要获取退出代码,无法轻松找到解决方案,因为这是google的最高结果,我正在为此添加解决方案。
process = pexpect.spawn(command, cwd=work_dir)
process.expect(pexpect.EOF)
output = process.before
process.close()
exit_code = process.exitstatus
我也保存了输出,因为我正在运行bash脚本,并且退出代码保存在exit_code变量中。