问题描述
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