如何在执行另一个命令后自动输入部分命令?

如何在执行另一个命令后自动输入部分命令?

我想创建一个函数,通过 来 grep 我的命令行历史记录history | grep {keyword}。在查看列表并按行号选择命令后,我想通过 来执行它!{line_number}

因为在下一个命令中我总是会使用!,我希望它自动输入并等待我输入行号。我该怎么做

答案1

如果像我一样您将值设置HISTSIZE为 10000+,则命令的输出grep可能会非常大而难以解析。

相反,我建议使用reverse-i-searchi-searchbash 功能:

reverse-search-historyCtrl+ r

从当前行开始向后搜索,并根据需要在历史记录中“向上”移动。这是一个增量搜索。

forward-search-historyCtrl+ s

从当前行开始向前搜索,并根据需要在历史记录中“向下”移动。这是一个增量搜索。

请注意,为了正常工作,您可能必须禁用 XON/XOFF 流控制,只需输入:stty -ixon

在此处输入图片描述

来源:无法像使用 CTRL-r 一样转发搜索 Bash 历史记录

相关内容