Подтвердить что ты не робот

Доступ к ERRORLEVEL из bash script

У меня есть приложение, которое работает только при вызове из командной строки Windows. Что-то делать с потоками ввода/вывода.

Поэтому я могу назвать это из bash script, передав его как аргумент cmd.

cmd/c "badapp"

Это прекрасно работает, но иногда badapp терпит неудачу с сетевыми проблемами - и я не получаю обратной связи. Нужно ли все-таки проверять ERRORLEVEl из bash script - или увидеть вывод из badapp на терминале с bash script?

4b9b3361

Ответ 1

да, $? - это переменная, содержащая уровень ошибки.

Попробуйте echo $? например.

Пример из Cygwin bash (я предполагаю, что вы используете Cygwin, потому что вы используете Windows cmd в своем примере.)

[email protected] /cygdrive/c/Documents and Settings/susam/Desktop
$ cmd /c "badapp"
'badapp' is not recognized as an internal or external command,
operable program or batch file.

[email protected]/cygdrive/c/Documents and Settings/susam/Desktop
$ if [ $? -eq 0 ]
> then
>   echo "good"
> else
>   echo "bad"
> fi
bad