是否有可能知道您何时进入终端的第一个 bash 提示符?

是否有可能知道您何时进入终端的第一个 bash 提示符?

这是我上一个问题的延续:打印保存最后一次 bash 输入命令

现在我想知道是否可以知道您何时进入终端的第一个 bash 提示符。所以我在当前提示符上方显示最后运行的命令。我认为,如果您在新的终端上显示最后 N 个命令,那会很酷。

我想我可以在我的 中回显最后的命令.bashrc,但这似乎不是一个好主意。而且当回滚被清除时(通过clear)显示最后 N 个命令也是很酷的。

这些(合理地)可能吗?

答案1

我想我可以只回显 .bashrc 中的最后一个命令,但这似乎不是一个好主意。而且当回滚被清除(通过清除)时显示最后 N 个命令也是很酷的。

我不确定是否有另一种方法可以在不修改 bash 源代码的情况下完成此操作...但是将其放入 .bashrc 中似乎有什么不好?您应该只添加一个交互性测试,这样它就不会在任何脚本中打印它:

if [ ! -z "$PS1" ]; then
    echo "Hello, the last 5 commands you typed were :"
    tail -n5 ~/.bash_history
fi

您还可以为clear 创建一个别名,其作用基本上相同。

答案2

做 :

echo $LINENO

或者将其放入您的提示中。

答案3

http://www.thegeekstuff.com/2008/09/bash-shell-ps1-10-examples-to-make-your-linux-prompt-like-angelina-jolie/

一直滚动到页面底部。它讨论了\#显示“命令号”的代码。它从 1 开始,并根据您输入的每个命令递增,直到您退出终端。我发现它很有用。

相关内容