LINUX.ORG.RU

История изменений

Исправление derlafff, (текущая версия) :

Загоняй $? в переменную, операция сравнения действительно его затирает, ибо он в ней активно используется

function func_set_error {
        # $1 - error code
        return $1
}

func_set_error 2

err=$?

if [[ $err -ne 0 ]]; then
  echo "1: $err"
fi

func_set_error 3

err=$?

if [[ $err -ne 0 ]]; then
  echo "2: $err"
fi

Исходная версия derlafff, :

Загоняй $? в переменную, операция сравнения действительно его затирает, ибо он в ней активно используется

function func_set_error {
        # $1 - error code
        return $1
}

func_set_error 2

err=$?

if [[ $err -ne 0 ]]; then
  echo "1: $err"
fi

func_set_error 3

err=$?
if [[ $err -ne 0 ]]; then
  echo "2: $err"
fi