Я заметил root причину этой проблемы. Это простая проблема, но сложно. Поэтому я хотел бы поделиться этим здесь.
bash. sh
VARIABLE_1=$("perl_script.pl" arg1 arg2)
echo $?
RESULT=$?
Процесс эха получил доступ к $?, Поэтому переменные RESULT сохранят значение выхода операции эха, которая всегда обнуляется (успешно) операция)
Исправление
VARIABLE_1=$("perl_script.pl" arg1 arg2)
RESULT=$?
echo $RESULT
Как вывод, $? имеет одноразовое использование только сразу после выполнения скрипта.