Не удается определить, почему код выхода не регистрируется

Странный, поэтому следующее не будет записывать «код выхода bash …»

#!/usr/bin/env bash OUTPUT_PATH=${PROJECT_ROOT:-$PWD}/npm-install-output.log npm --loglevel=warn --progress=false install > ${OUTPUT_PATH} 2>&1 && export NODE_PATH=${NODE_PATH}:~/.suman/node_modules && node $(dirname "$0")/test.js && EXIT=$? && echo " " && # newline echo "bash exit code => $?" && exit ${EXIT} 

если я удалю один «&&» после команды node так:

 #!/usr/bin/env bash OUTPUT_PATH=${PROJECT_ROOT:-$PWD}/npm-install-output.log npm --loglevel=warn --progress=false install > ${OUTPUT_PATH} 2>&1 && export NODE_PATH=${NODE_PATH}:~/.suman/node_modules && node $(dirname "$0")/test.js # <<<<< removed "&&" chars EXIT=$? && echo " " && # newline echo "bash exit code => $?" && exit ${EXIT} 

то процесс узла завершится с ненулевым кодом, но затем bash говорит:

код выхода bash => 0

оба они не дают правильных результатов, что-то не так с моим кодом. Я хочу получить правильный код выхода процесса узла, и я хочу его распечатать! Что может быть неправильным?

  • Как скопировать файл журнала по времени?
  • Сценарий Bash возвращает «команда не найдена», если вне исходной папки
  • Использование контурной петли для переменной окружения
  • Написание сценария, который показывает, сколько строк имеет «X» и «Y» в нем?
  • Получение pid для процесса ssh, который основывался на себе
  • Могут ли файлы bash иметь машинный язык?
  • Почему этот сценарий не работает?
  • if then else
  • One Solution collect form web for “Не удается определить, почему код выхода не регистрируется”

    $? это статус выхода вашей последней команды. В этом случае он всегда возвращает 0, потому что echo " " было успешным. Используйте $EXIT вместо $?

     #!/usr/bin/env bash OUTPUT_PATH=${PROJECT_ROOT:-$PWD}/npm-install-output.log npm --loglevel=warn --progress=false install > ${OUTPUT_PATH} 2>&1 && export NODE_PATH=${NODE_PATH}:~/.suman/node_modules && node $(dirname "$0")/test.js # <<<<< removed "&&" chars EXIT=$? && echo " " && # newline echo "bash exit code => $EXIT" && exit ${EXIT} 
    Interesting Posts

    Восстановление из прерванного перемещения раздела

    Можно ли получить активный процесс / заголовок окна в Gnome?

    пароль паролей kinit над ssh

    Как ограничить использование процессора Skype

    находить файлы журналов старше 30 дней

    Удалить строку, соответствующую шаблону, если следующая строка не соответствует другому шаблону

    Исходное перенаправление bash – в чем разница между >> и> &, перенаправлением и дублированием?

    Завершите мой (резервный) жесткий диск в Linux, когда я его не использую

    Задачи SSH для разных пультов с контролем над ними

    gawk: Суммирующие поплавки, отформатированные с помощью разделителя запятой

    Безопасный WiFi не аутентифицируется

    Как проверить цель символической ссылки указывает на конкретный путь

    Не удается подключиться к Интернету с помощью VPN на OpenBSD

    grep изменение строки, за которой следует переменная

    Команда pipe внутри exec не будет работать

    Linux и Unix - лучшая ОС в мире.