Ответ 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