提前感谢任何建议
我正在研究 fswatch 命令,当文件进入下载文件夹时启动脚本。
fswatch --event Created Downloads/ | (while read x; do echo $x | xargs -0 bash ./dlsort.sh; done)
脚本按预期运行。我遇到的问题(我认为)来自 (while read x; 位:
问题是每次下载时都会调用 dlsort.sh 两次。由于第一次运行脚本会移动文件,因此第二次运行时会出现“没有这样的文件或目录”错误。这没什么大不了的,因为文件会到达它应该去的地方,但我做这个项目主要是为了自学更多关于 bash/脚本的知识,所以我想弄清楚我对这个命令的误解是什么。
编辑:添加 dlsort.sh
if (echo "$1" | grep -q '\.jpg$'); then
mv "$1" Desktop/targdir/
else
mv "$1" Downloads/
fi