将命令保存到历史记录而不在 bash 中执行

9 bash history

有没有办法在 bash 历史记录中保存命令而不执行它?例如

$ cmd [a long list of arguments] 
Run Code Online (Sandbox Code Playgroud)

现在在打字时我记得我想先做点别的。我可以有类似的东西吗

$ cmd [a long list of arguments][some-key-strokes]
Run Code Online (Sandbox Code Playgroud)

这实际上并没有执行,而是进入 bash 历史记录,以便我以后可以使用它?

che*_*ner 8

使用命令的-s选项history

history -s cmd arg1 arg2
Run Code Online (Sandbox Code Playgroud)

history -s方便的是,对自身的调用不会添加到命令历史记录中,因此在您的历史记录中,它看起来好像是您在cmd没有实际执行的情况下执行的。


Exp*_*lls 6

可能有更好的方法,但您可以使用历史扩展的:p修饰符在不执行的情况下打印当前注释行。 !#是当前行,%它本身不会匹配任何内容

$ cmd [arguments] !#%:p
Run Code Online (Sandbox Code Playgroud)