2015-06-17 4 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

Когда сценарий заканчивается с выходом, который не имеет параметра, статус выхода из сценария - это статус выхода последней команды, выполненной в скрипте

, который подразумевает, что вам просто нужно добавить «выход» к указанному выше сценарию.

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

Bash хранит код завершения предыдущей команды в переменную с именем $?

#!/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

Смежные вопросы