有没有一种方法可以在不执行命令的情况下将其保存在bash历史记录中?例如
$ cmd [a long list of arguments]
现在我在打字时记得要先做别的事情。我可以给一些东西吗
$ cmd [a long list of arguments][some-key-strokes]
而这实际上并没有执行,而是进入了bash历史记录,以便以后可以使用?
有没有一种方法可以在不执行命令的情况下将其保存在bash历史记录中?例如
$ cmd [a long list of arguments]
现在我在打字时记得要先做别的事情。我可以给一些东西吗
$ cmd [a long list of arguments][some-key-strokes]
而这实际上并没有执行,而是进入了bash历史记录,以便以后可以使用?
Answers:
在这种情况下,我只需在行前面加上#,然后按Enter。
...或使用组合键: ESC #
bind -p | grep -i 'insert-comment' # "\e#": insert-comment
另请参阅:Bash-保存命令而不执行
您可以尝试添加空格和| (管道)在行的末尾,按Enter,然后按Ctrl-C'ing。
(Space,|,Enter,Ctrl+ C)
该命令将在您的历史记录中带有| |。在末尾(可以简单地使用退格键删除),而不是在开头添加#(删除起来可能更麻烦)。
免责声明:我不知道这是否总是有效!使用风险自负!
$ cmd [长参数列表] |
> Ctrl+C
$ Up
$ cmd [长参数列表] |
您可以尝试使用此行:
history -s -p $COMMAND
来自help
:
The -p option means to perform
history expansion on each ARG and display the result,
这意味着您可以扩展类似的内容!!
并将结果存储在历史记录的底部。
我认为您想要的“某些按键”是Ctrl-U和Ctr-Y,它们将一行存储到击杀环中,然后将其拉回。它没有进入历史,但后来我认为不应该这样做,因为您没有这样做。
我是在几年前学到的,然后就忘记了,也去寻找那些关键的技巧。
它也在这里讨论:https : //unix.stackexchange.com/questions/140741/how-to-save-a-command-you-entered-without-executing-it
#
,然后按Enter。