我正在从事一个开源项目来跟踪研究活动。在其中一个模块中,我希望将文件夹的命令历史记录跟踪到同一个文件夹中的文件(.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 )中。
非常感激的帮助。提前谢谢。
发布于 2016-07-09 14:44:02
这其实很简单:
PROMPT_COMMAND="history -a; history -c; history -r; HISTFILE=\${PWD}/.history"这首先确保了历史被写入,然后在每一个提示符上重新阅读。*。然后,它将历史文件变量更改为使用当前目录。示例会话:
$ echo "$PWD"
/home/username
$ cd /tmp
$ echo "$PWD"
/tmp
$ cat ~/.history
echo "$PWD"
cd /tmp
$ cat .history
echo "$PWD"如您所见,cd命令存储在执行命令的目录的历史文件中,echo命令存储在两个历史文件中。
值得注意的一个副作用是,历史现在在每个终端之间共享。我喜欢这个功能,但不是每个人都喜欢。
另外,如果您正在寻找审核,而不是历史的便捷性,那么您可能应该考虑启用auditd或类似的东西。
*别担心,即使用成千上万的历史,它也是超快的。
https://stackoverflow.com/questions/38282807
复制相似问题