2015-06-17 140 views
2

我有一個Bash腳本,它運行一個節點腳本作爲其任務的一部分。我希望bash腳本以與節點腳本相同的退出碼退出。下面的簡單例子。Bash腳本從NodeJs腳本返回退出代碼

foo.sh:

#!/bin/bash 
node ./bar.js 

bar.js:

process.exit(1); //sometimes the exit code can be 0 

回答

8

來源:http://www.tldp.org/LDP/abs/html/exit-status.html

當一個腳本以不帶參數的退出結束時,腳本的退出狀態是在腳本中執行的最後一個命令的退出狀態

這意味着您只需將「exit」添加到上面的腳本中即可。

#!/bin/bash 
node ./bar.js 
exit 
2

擊存儲前一命令的退出代碼在名爲可變$?

#!/bin/bash 
node ./bar.js 
# will print nodes exit code, e.g. 0 for success 
echo $? 

EDIT

一旦你退出代碼,你可以決定做什麼,包括在其他的答案中提到離開

+0

請提供反饋意見,如果投下。謝謝 – Romski

+0

我低估了,因爲(最初)你沒有提到如何使bash腳本退出某個值,這是OP想要做的事情。您只描述瞭如何獲取前一個命令的退出代碼。 – jangler

+0

@jangler夠了!我只是想確保我沒有錯過任何其他的東西。 – Romski