[問題] 取得遠端執行程序的return code

看板Linux作者時間13年前 (2012/11/09 05:02), 編輯推噓0(003)
留言3則, 3人參與, 最新討論串1/1
我想要利用ssh在遠端跑一個程式, 並且取得他結束執行時的return code(這邊我用個程式會回傳-1), 我試著這樣子寫: a=`ssh user@host ~/program` 結果a出來是空的,用ssh -v檢查顯示 debug1: Exit status 255 但是我輸入 echo $? 後結果卻是0 另外我也試了像這樣的指令: a=`ssh user@host "~/program || echo fail"` 結果a還是空的,但是fail有印出來 a=$()和a=``我都有測試過,結果都和上面的一樣, 想問問看有沒有辦法用ssh遠端執行的方法取得程式結束的回傳值? (我的shell是用bash, 發行版是ubuntu 12.04) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.250.222.223

11/09 11:49, , 1F
a=`cmd ...` 是把 cmd ... 的 stdout 結果存到 a 吧?
11/09 11:49, 1F

11/09 13:33, , 2F
嗯 但是我的a沒有東西 fail直接印出來
11/09 13:33, 2F

11/09 21:23, , 3F
echo $? 出來是 0 應該是因為「存到 a」這動作是成功的
11/09 21:23, 3F
文章代碼(AID): #1Gd1tciJ (Linux)