我正在尝试在通过命令连接的某些机器上运行一些命令rsh
(不能ssh
用于我的情况)。
通过subprocess.check_call
函数,我正在执行命令,并且当我的“ ”命令的退出状态指示失败check_call
时,我期望异常退出。cd /libs/
下面是我正在尝试的代码。
with open('logs.txt','w') as outstream:
subprocess.check_call("rsh bldr 'cd /libs/' ", shell=True,stdout=outstream)
但在这里,rsh
只返回它的退出状态,而不是它正在执行的命令。
因此,即使在命令失败的情况下,check_call
函数也没有错误,因为它正在获得rsh
退出状态,该状态始终为 0。
那么,这里如何获取命令的退出状态呢?
另外,如何check_call
根据我的命令退出状态使失败?
注意:我正在尝试将目录更改为不存在的 /libs。我希望在check_call
这里失败并停止执行脚本。