我键入history
然后点击Enter
查看最新的命令,我可以使用类似的命令打印命令!123:p
,但这会在命令提示符后打印它,然后显示一个空的命令提示符。
我想运行一个命令来实际将历史记录中的某一行放到命令提示符上,以便我可以编辑它或点击Enter
运行它。
答案1
我认为您正在寻找以下histverify
选项:
我不记得 Mac 上开箱即用的文件有哪些,但我有:
$ cat ~/.bash_profile
[[ -f ~/.bashrc ]] && source ~/.bashrc
$ cat ~/.bashrc
...
shopt -s histverify
...
启用该选项后,当您使用历史记录替换时,您将获得在执行命令之前对其进行编辑的选项。从bash
手册页:
历史验证
如果设置并且正在使用 readline,则历史替换的结果不会立即传递到 shell 解析器。相反,生成的行将加载到读取行编辑缓冲区中,从而允许进一步修改。
答案2
向上箭头将从最后一个命令开始浏览命令。我建议您将其与最近运行过的命令一起使用,这样您就不必疯狂地使用向上箭头。
您还可以使用:
CTRL +r
之后开始输入命令,它将根据您的输入显示。然后,您可以ESCAPE
在提示符下点击获取它而不执行它,或者Enter
如果您愿意,也可以使用 键执行它。
答案3
如果您在命令行上键入历史记录,则会列出过去的命令列表,前面带有数字。如果您键入感叹号,后跟命令编号,则该命令将重复。例如 !12 将列出历史列表中的第 12 个命令并运行该命令。