inotify似乎在扩展名之前的输出文件名中添加了6个字母代码

问题描述

inotify似乎在扩展名之前的输出文件名中添加了6个字母代码

例如: "/path/to/directory/ CLOSE_WRITE,CLOSE filename-HzdVai.lyx"

或带有--format "%w%f"
/path/to/directory/filename-HzdVai.lyx

其他脚本没有发生这种情况,我也找不到任何示例,或者在谷歌搜索中找不到这种情况的原因。

代码

inotifywait -m -r -e close_write --exclude '[^l][^y][^x]$' ~/Routines/* ~/Projects/* | while read path msg name
do
    echo "$path $msg $name"
    lyx -e pdf "$path$name.lyx"
done

如果相关,我正在使用Ubuntu 20.4。

解决方法

该脚本的目的是不断更新与pdf文件匹配的LyX个文档(基于LaTeX的文档处理器),因此每当我保存文档时,它都会自动编译

@larks猜对了,并且跟踪动作也表明LyX只是临时将ID写入文件,然后将其重命名。

最后的有效脚本:

#!/usr/bin/env sh

inotifywait -m -r -e moved_to --exclude '[^l][^y][^x]$' --format "%w%f" ~/Routines/* ~/Projects/* | while read file_path
do
    echo "$file_path"
    lyx -e pdf "$file_path"
done

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...