如何在不执行命令的情况下向bash历史记录添加命令?

Ren*_*ene 21 bash

用例是:

我键入一个长命令,然后我意识到我需要先运行其他东西.

我通常立即运行它然后CTRL C.

我想我也可以做echo "command" >> $HISTFILE,但这不适用于引号.

Mat*_*nen 18

作为编辑历史记录的替代方法,您可以使用它Ctrl-U来剪切线条(请注意,这会从光标向后切割,因此它应该在末尾),并Ctrl-Y稍后将其粘贴回来.Meta-Y之后使用Ctrl-Y会循环显示不同的切割值,这样您也可以回到之前的切割值.

  • 这正如OP所希望的那样*正好*.我知道,因为我想要同样的事情和一个非常善良的灵魂告诉我这一点.我现在一直使用它*当我输入一个长命令并且想"哦,首先想要这个其他东西". (2认同)

Ric*_*ton 17

只是用history -s arg.

-s args作为单个条目添加到历史列表的末尾.

http://ss64.com/bash/history.html


Zan*_*ynx 11

另一种方法是在行的前面放一个哈希:

# echo this command will not execute, but it will be in the history.
Run Code Online (Sandbox Code Playgroud)

  • 更快的是,有一个默认绑定可以完成这个:Meta-#是`insert-comment`,这与移动到行首,插入#,执行命令基本相同 (2认同)

mat*_*dev 5

您可以编辑该~/.bash_history文件.