我正在编写一个 bash 脚本来自动解密文件以进行编辑,并在文件关闭后将其加密回来。文件类型可以是任何类型:纯文本、办公文档等。我在 Linux Mint 和 Mate 上。
我被卡住了:无法可靠地检测文件是否在应用程序中关闭,以便脚本可以继续对其进行加密并删除解密版本。
该脚本的第一个版本只是将 vim 与文本文件一起使用。脚本直接调用它,直到 vim 关闭才继续。现在,由于我希望能够对其他文件执行此操作,因此我尝试了以下操作:
xdg-open:调用与文件类型关联的应用程序后立即退出。因此脚本继续并且没有好处。
xdg-open 用于调用关联应用程序的修改函数:在当前脚本中运行它,所以现在我看到程序退出。仅在应用程序尚未运行时才有效。如果有,则新进程完成,脚本继续。
所以我现在要做的就是以某种方式观察该文件在已经运行的应用程序中被关闭。目前正在尝试使用 pluma/gedit 和 inotifywait。它也不起作用 - 打开文件后立即检测到CLOSE_NOWRITE,CLOSE事件。
如果没有针对不同应用程序的特定钩子,是否有可能检测到这一点?可能有一些 X 钩子?
谢谢你。