Linux bash (или другая оболочка). Вы когда-нибудь толстыми пальцами набирали "echo $"? во что-то вроде "echo $ 4", что навсегда мешает вам узнать код возврата для предыдущей команды? Я делаю это часто (и это так раздражает), поэтому я подумал, что спрошу: есть ли в bash и / или linux «стек кодов возврата» или массив или что-то, что содержит коды возврата из предыдущих команд, а не только из последней что ты сбежал? Я говорю о простых командах, не использующих каналы.
Если вы хотите увидеть коды возврата для интерактивного bash, вы можете использовать переменную PROMPT_COMMAND следующим образом:
PROMPT_COMMAND='RC=$?;
if [ $RC -ge 128 ]; then
SIG=$[RC-128];
echo -e "Signal $SIG = $(kill -l $SIG)";
fi;
if [ $RC -ne 0 ];
then echo -n "! (RC=$RC) ";
fi'
Команды в этой переменной выполняются после каждой команды. Он должен содержать только внутренние команды bash. В моем примере это показывает знак $? если это не 0, и сигнал, если предыдущая команда была прервана сигналом.