如何重新执行最后一个以字母开头而不是数字开头的命令?

时间:2019-02-03 13:05:08

标签: linux terminal

重新执行名称以“ c”开头的最后一条命令。 我想执行我的历史记录命令详细信息,最后以c开头,即最后一个以c开头的命令。首先,我要获取该命令并执行该命令。

2 个答案:

答案 0 :(得分:0)

我建议您阅读CTLR-R提供的bash功能。

键入CTRL-Rc,然后将显示建议的最后一条命令,显示并可以再次执行。您也可以像完全键入它一样对其进行修改。

该功能提供“实时搜索”,因此您可以键入其他前缀字符,从而限制您获得的搜索结果。 CTRL-R的每次重复都建议在shell历史记录中与当前搜索模式匹配的 next 命令。

答案 1 :(得分:0)

通过运行以下命令,您可以获得以字母c开头的最后使用的命令:history | awk '{ print $2 }' | grep '^c'

如果您直接要运行以'c'开头的最后一条命令(我认为这很危险)。您可以运行以下命令或另存为bash脚本:

a=(`history | awk '{ print $2 }' | grep '^c'`)
num_cmds=${#a[@]}
last_cmd=${a[num_cmds-1]}
$last_cmd