статус выхода в скрипте оболочки - PullRequest
3 голосов
/ 27 марта 2011

Я запускаю приложение из сценария оболочки.Теперь мне нравится знать состояние выхода из приложения, чтобы знать, нормально ли оно завершается (аварийно и т.д.)Откуда я это знаю?Пример: ./mytestApp

Ответы [ 4 ]

3 голосов
/ 27 марта 2011

Bash хранит значение выхода последнего процесса в специальной переменной $?.

3 голосов
/ 27 марта 2011

Вы можете использовать специальную переменную $?, которая содержит состояние выхода последней команды.

2 голосов
/ 27 марта 2011

$? содержит состояние выхода последней выполненной команды. Таким образом, если последняя команда была ./mytestapp, $? будет содержать ее статус выхода сразу после (обратите внимание, что вы можете получить это значение только один раз, и оно должно быть получено сразу после команды, статус выхода которой вы хотите узнать). Возможно, вы захотите записать его в переменную, например,

#!/bin/bash
./mytestapp
APPSUCCESS=$?
# Continue doing whatever it is you're doing

Все это предполагает, что вы используете bash (sh и zsh также будут работать, IIRC).

0 голосов
/ 16 мая 2017

Специальная переменная $? будет содержать состояние завершения последней команды в bash.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...