Команды Unix всегда возвращают коды выхода, но вам не нужно отвечать на код выхода.
При запуске команды $?
устанавливается на код завершения процесса. Поскольку это происходит для каждой команды, простой запуск другой команды после первой изменится $?
.
Например:
createdb appname_production_master # returns 1, a failure code
# $? is 1
/bin/true # always returns 0, success
# $? is 0
Вот еще один пример:
/bin/false # returns false, I assume usually 1
echo $? # outputs 1
echo $? # outputs 0, last echo command succeeded