默认情况下,bash 从~/.bash_history历史加载行。是否可以添加要加载的自定义文件?我想注入包含我经常使用的命令的文件,并通过内置搜索访问它们。
eww*_*ite 13
我通过alias h='history|grep'加载到我的 Bash 配置文件来保持简单。
所以我的工作流程是h command,例如:h hpssa
# h hpssa
202 05-28-2015 11:54:33 hpssacli
217 05-28-2015 11:54:33 hpssa -start
225 05-28-2015 11:54:33 hpssacli -stop
226 05-28-2015 11:54:33 hpssa -stop
228 05-28-2015 11:54:33 hpssa -start
Run Code Online (Sandbox Code Playgroud)
如果我想运行“ hpssa -stop”,我只需输入!226
这只是我的方法,但也许您可以修改回忆历史项目的方式。我认为将数据实际注入历史文件没有意义。
我曾经非常依赖Ctrl-R(reverse-search-historyReadline 命令),它通过历史记录向后搜索以检索以前输入的长命令,但我现在更喜欢使用别名和 shell 脚本/函数。无论如何,Bashhistory内置命令可用于将自定义命令列表加载到您当前的历史记录中。
history -r [filename]
Run Code Online (Sandbox Code Playgroud)
从 bash 手册页:
读取历史文件的内容并将它们附加到当前历史列表中。
我只是尝试通过将它添加为我的.bashrc. 但是,当我启动一个新的 shell 时,我的自定义历史文件中的命令不可用。似乎 shell 历史记录仅从默认.bash_history文件加载:在处理启动文件之后,就在为交互式 shell 显示提示之前。不幸的是,似乎没有一种简单的方法可以自动执行此操作。