linux – 可能/如何获取最后一个命令之前执行的命令的返回码?

前端之家收集整理的这篇文章主要介绍了linux – 可能/如何获取最后一个命令之前执行的命令的返回码?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
Linux bash(或其他shell.)你有没有胖指“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,则信号如果前一个命令被信号杀死.

猜你在找的Linux相关文章