gpt4 book ai didi

bash - 如何将 $PWD 的 bash 历史保存到 $PWD/.history

转载 作者:行者123 更新时间:2023-11-29 09:51:48 24 4
gpt4 key购买 nike

我正在从事一个开源项目来跟踪研究事件。在其中一个模块中,我想将文件夹的命令历史记录跟踪到同一文件夹的文件 (.history) 中。

示例:

比方说,我正在处理文件夹 /Users/ravi/test-project/ 。我正在使用一些命令在该文件夹中开始我的工作。假设我在文件夹中执行了以下命令。

$wget https://mywebsite.com/script.py
$chmod +xw script.py
$echo "append some text " > script.py
$python script.py

我希望将所有这些命令保存到文件夹的 .history 文件中,即 /Users/ravi/test-project/.history

非常感谢帮助。提前致谢。

最佳答案

这其实很简单:

PROMPT_COMMAND="history -a; history -c; history -r; HISTFILE=\${PWD}/.history"

这首先确保history is written and then re-read on every prompt *。然后它更改历史文件变量以使用当前目录。示例 session :

$ echo "$PWD"
/home/username
$ cd /tmp
$ echo "$PWD"
/tmp
$ cat ~/.history
echo "$PWD"
cd /tmp
$ cat .history
echo "$PWD"

可以看到,cd命令保存在命令执行目录的历史文件中,echo命令保存在两个历史文件中.

需要注意的一个副作用是历史记录现在在每个终端之间共享。我喜欢这个功能,但不是每个人都喜欢。

此外,如果您正在寻找审计而不是方便的历史记录,您可能应该考虑启用 auditd 或类似的东西。

* 别担心,即使使用 thousands of lines of history 也 super 快.

关于bash - 如何将 $PWD 的 bash 历史保存到 $PWD/.history,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38282807/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com