如何使用历史记录实用程序复制先前输入的命令而无需再次运行它?

如何使用历史记录实用程序复制先前输入的命令而无需再次运行它?

我可以history在 CentOS 上使用命令来获取以前输入的命令列表,但是,如果我执行类似以下操作:!372,历史记录将尝试运行引用的命令。

我需要上一个运行命令出现在当前光标处。以下是示例:

[dev@home ~]$ previous_command_no_execute!372  

答案1

那么,把这个放到你的命令行上:

$ !372

然后按 ,ESC然后按CTRL+E。这将在命令行上自动扩展而无需实际运行它。(还会扩展行上的所有其他内容,包括环境变量)

据我所知,这只适用于 Bash。

答案2

您可以使用Ctrlr然后输入原始命令中的一些字符,例如

(reverse-i-search)`/etc': sudo /etc/init.d/apache2 restart

我在上面输入了命令,它从历史记录中Ctrl-r /etc调出了命令sudo /etc/init.d/apache2 restart

答案3

history | grep 372应该可以吧?

编辑:

此外,您还可以执行一些操作,例如echo !372 > /dev/clip将命令目录放入剪贴板。

答案4

执行您想要的操作的最简单、最快捷的方法是运行:

!372:p

随后Enter

相关内容