У меня есть сценарий perl (verifyCopy.pl
), который использует system()
для вызова сценария оболочки (intercp.sh
).
Внутри сценария оболочки я настроил несколько выходов с определенными кодами выхода, и я хотел бы иметь возможность делать разные вещи в зависимости от того, какой код возврата возвращается.
Я пытался использовать $?
, я пытался присвоить значение system("./intercp.sh")
переменной, а затем проверять ее значение, но сообщение об ошибке всегда равно 0.
Это потому, что даже если что-то внутри сценария оболочки дает сбой, фактический сценарий успешно запускается?
Я попытался добавить ловушку в сценарий оболочки (например, trap testexit EXIT
и testexit() { exit 222; }
, но это тоже не сработало.