我正在尝试创建一个文件夹操作,以使用guetzli压缩图像。我正在查看图像文件夹,并且如果文件名中包含不带“ compp”的图像,则在其上运行guetzli。这是脚本。如果我从automator中运行它,效果很好,但是当我保存它时,它会陷入无限循环并创建同一文件的多个版本,并向其中添加compp
,即`test-compp.jp,test-compp -compp.jpg”。不知道我在想什么。
for img in "$@"
do
filename=${img%.*}-compp
/usr/local/Cellar/guetzli/1.0.1/bin/guetzli --quality 85 "$img" "$filename.jpg"
echo "$img"
done
答案 0 :(得分:1)
您缺少检查文件名中是否没有字符串compp
的条件。因此,每次都会创建一个新文件,这将无限次调用新的执行广告。
添加条件应该可以,即
for img in "$@"; do
[[ $img == *"compp"* ]] && continue
filename=${img%.*}-compp
/usr/local/Cellar/guetzli/1.0.1/bin/guetzli --quality 85 "$img" "$filename.jpg"
echo "$img"
done