从 bash 脚本中更新 shell 命令历史记录

发布于 2024-12-22 07:29:57 字数 127 浏览 0 评论 0原文

我经常在命令行上使用 control-r 来搜索以前的命令,但无法使其适用于刚刚在 bash 脚本中运行的命令。

我尝试直接运行脚本并使用“源”,但历史记录没有显示任何记录。

有没有办法通过脚本更新历史记录?

I use control-r on the command line frequently to search for previous commands but cannot get this to work for commands that have just been run in a bash script.

I've tried running the script directly and using 'source' but history shows no record.

Is there anyway to get history updated via a script?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

人疚 2024-12-29 07:29:57

您可以尝试使用history -s command将命令存储在历史列表中。

示例:

$ history -s echo foo

[Ctrl+R]
(reverse-i-search)`foo': echo foo

或者,将命令写入文件,然后使用 history -n file 将命令从文件读取到当前历史列表中。

例子:

$ echo "echo bar" > /tmp/file
$ history -n /tmp/file

[Ctrl+R]
(reverse-i-search)`bar': echo bar

You can try using history -s command to store the command in the history list.

Example:

$ history -s echo foo

[Ctrl+R]
(reverse-i-search)`foo': echo foo

Alternatively, write your commands to a file and then use history -n file to read commands from the file into the current history list.

Example:

$ echo "echo bar" > /tmp/file
$ history -n /tmp/file

[Ctrl+R]
(reverse-i-search)`bar': echo bar
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文