首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将$PWD的bash历史保存到$PWD/.history中

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

Stack Overflow用户
提问于 2016-07-09 14:25:10
回答 1查看 341关注 0票数 3

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

示例

比方说,我正在编写一个文件夹/Users/ravi/test-project/。我在那个文件夹中使用几个命令来启动我的工作。假设我在文件夹中执行了以下命令。

代码语言:javascript
复制
$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 )中。

非常感激的帮助。提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-07-09 14:44:02

这其实很简单:

代码语言:javascript
复制
PROMPT_COMMAND="history -a; history -c; history -r; HISTFILE=\${PWD}/.history"

这首先确保了历史被写入,然后在每一个提示符上重新阅读。*。然后,它将历史文件变量更改为使用当前目录。示例会话:

代码语言:javascript
复制
$ echo "$PWD"
/home/username
$ cd /tmp
$ echo "$PWD"
/tmp
$ cat ~/.history 
echo "$PWD"
cd /tmp
$ cat .history
echo "$PWD"

如您所见,cd命令存储在执行命令的目录的历史文件中,echo命令存储在两个历史文件中。

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

另外,如果您正在寻找审核,而不是历史的便捷性,那么您可能应该考虑启用auditd或类似的东西。

*别担心,即使用成千上万的历史,它也是超快的。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38282807

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档