![显示 bash 提示符中当前的“历史记录”行](https://linux22.com/image/1238342/%E6%98%BE%E7%A4%BA%20bash%20%E6%8F%90%E7%A4%BA%E7%AC%A6%E4%B8%AD%E5%BD%93%E5%89%8D%E7%9A%84%E2%80%9C%E5%8E%86%E5%8F%B2%E8%AE%B0%E5%BD%95%E2%80%9D%E8%A1%8C.png)
需要在提示中添加什么格式字符bash
来指示最近history
运行的项目(或者如果可以在最后一项中添加 1,则指示当前命令编号history
)?
我的提示字符串是这样的:
\[\033[33m\][\u@\[\033[1;31m\]\h]\]\033[0m {\W}\n\033[1;34m\]\w\]\033[0m >
给出以下显示:
[user@host] {~}
~ >
用户为黄色,主机为红色。括号内的条目为当前目录,大于号之前的条目为完整的pwd
。
我可以将当前命令号附加到第一行吗?这样我就会得到如下内容:
[user@host] {~} (nnn)
~ >
(nnn)
运行时显示的当前(或刚刚处理的)命令号在哪里history
?
答案1
来自提示部分bash 手册页:
\! the history number of this command
\# the command number of this command
并进一步如下:
命令编号和历史编号通常是不同的:命令的历史编号是它在历史列表中的位置,可能包括从历史文件中恢复的命令……,而命令编号是在当前 shell 会话期间执行的命令序列中的位置。
如果您想要最后一个命令编号,您可以将该数字包装在算术评估中,如下所示:
export PS1='last cmd num: $((\# -1)), this num: \# '