bash 中的命令编号指定自从以该用户身份登录到您打开的任何终端后键入的命令数。可以在你的 PS1 中看到\#
,比如在
export PS1="\! \# \\$"
我有时想重设这个数字。history -c
我可以在 bash中重置历史编号,但我不知道如何重置命令编号。
我曾经见过有人用 PS1 将计数器重置为 0,只要他们键入具有非零退出状态的命令。我觉得这很有趣,并且正在尝试重新创建它,因为我在网上找不到这个。我不想重置历史编号,因为这也会阻止我搜索过去的命令。编辑:我没有重置命令号就获得了这个功能;看这里
有没有办法在没有 PS1 的情况下在 bash 中显示命令号,或者以某种方式设置它?
我要说“不”或“不在 bash 4.4 中”或“不更改代码并重新编译”,因为该值位于名为 的变量中
current_command_number
,并且它只会被引用和递增:shell.c
将其设置为 1 两次:在变量实例化期间和在shell_reinitialize
函数中。该函数还重置提示,重新初始化历史,并删除所有变量和函数。该函数仅被调用一次,从main()
.该变量的唯一外部可见性是在
decode_prompt_string
函数中,当提示应该显示或重新显示时调用它本身。