我有一個應該報告上一個命令成功或失敗的python腳本。目前,我正在做
command && myscript "Success" || myscript "Failed"
我想這樣做是不是能夠運行斷開鏈接作爲命令:
command; myscript
而且具有myscript
檢索$?
,即存在狀態。我知道我可以運行:
command; myscript $?
但我真正尋找的是一個Python的辦法從蟒蛇$?
。
任何想法?謝謝!
更新: 由於這是一個奇怪的請求,讓我澄清它來自哪裏。 我有一個python腳本,它使用pushover API向我的手機發送通知。 當我運行一個漫長的過程時,我運行它爲process && notify "success" || notify "failure"
。但有時我忘了這麼做,只是運行這個過程。此時,我想在仍處理的命令行上運行「notify」,並讓它獲取退出狀態並通知我。 當然,我也可以在bash中實現pushover API調用,但是現在已經成爲了解如何在python中執行此操作的問題
你嘗試通過call()或者其他方法來顯示'run''$?'嗎? – 4rlekin 2014-10-29 09:34:13
這是一個非常好的問題。我一直在尋找,到目前爲止還沒有發現任何東西。你可以做'命令; SOMEVAR = $ ?; myscript',然後在你的腳本中檢索'os.environ [「SOMEVAR」]',但這並不比執行'command; myscript $?'。如果我找到任何東西,我會回答一個答案。 – rmunn 2014-10-29 09:43:25
@ 4rlekin好主意,但它似乎沒有工作。 'print subprocess.call(「/ bin/echo $?」,shell = True)'總是返回0.我懷疑這是因爲該命令是在一個不知道其祖父母的外殼存在狀態的新外殼中執行的bash運行python,運行bash) – Miquel 2014-10-29 09:48:51