FreeBSD sh:是否可以将命令列表导入到 fc 中而不执行它们?

FreeBSD sh:是否可以将命令列表导入到 fc 中而不执行它们?

我找不到任何迹象表明 sh 支持持久历史记录。所以我尝试手动创建此功能。在我的 .shrc 历史记录的末尾,我添加了以下内容:

trap -- 'fc -ln -- 1 >> "$HOME/.sh_history"' EXIT

这可以确保每次退出 shell 时,我在该会话中输入的命令都不会丢失。

现在我已经整理好了保存历史记录,我想~/.sh_history在登录时将所有命令导入到 fc 中,以便我可以从以前的 shell 会话中调用命令。

我意识到它不会那么简单,因为我必须找到一种方法来确保我只将新命令附加到 的末尾~.sh_history,但我相信我可以破解它,只要有可能向 fc 提供命令列表而不执行它们。

相关内容