我们已经将一个 perl 脚本放在一起,它主要查看传递给它的参数,检查是否正在创建或修改文件,然后将其保存在 mysql 数据库中,以便以后可以轻松访问。这是有趣的部分,我如何让这个 perl 脚本在终端中键入的所有命令之前运行。我需要制作这个虚拟证明,这样人们就不会忘记运行它。
抱歉,我没有正确提出这个问题。我想要做的是在每个命令前添加,这样每个命令都会像这样运行,例如“./run.pl ls”。这样我就可以跟踪文件更改,如果命令是 mv 或者它创建了一个 out 文件。该脚本几乎可以解决这个问题,但我只是不知道如何向用户无缝运行它。
我正在使用 bash 终端运行 ubuntu 服务器。
谢谢
最佳答案
如果我理解正确的话,您需要在运行每个命令之前执行一个函数,类似于 preexec
和 precmd
在 zsh
.
不幸的是bash
对此没有 native 支持,但您可以使用 DEBUG
来实现陷阱。
Here是应用此方法的示例代码。
This page还提供了一些有用的信息。
关于linux - 如何跟踪文件的创建和修改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12711023/