我正在使用automator为finder创建服务。该服务只有一个项目:“运行shell脚本”,脚本为:
currentDirectory=$(pwd)
for f in "$@"; do
DIRNAME="$(dirname "$f")"
export width=$( mdls "$f" | grep kMDItemPixelWidth | tail -n1 | cut -d= -f2 )
export height=$( mdls "$f" | grep kMDItemPixelHeight | tail -n1 | cut -d= -f2 )
oneWidth=$((width / 3))
oneHeight=$((height / 3))
twoWidth=$((umWidth * 2 ))
twoHeight=$((umHeight * 2 ))
IFS='@3x' read -ra NAMES <<< "$f" #Convert string to array
basename=${NAMES[0]}
extension="${f##*.}"
fullnameOne=${NAMES[0]}.$extension
fullnameTwo=${NAMES[0]}@2x.$extension
sips -z "$oneWidth" "$oneHeight" "$f" --out "$DIRNAME"/"$fullnameOne"
sips -z "$twoWidth" "$twoHeight" "$f" --out "$DIRNAME"/"$fullnameTwo"
done
这个想法是这样的:
@3x
的图片,如file @ 3x.png,ball @ 3x.jpg等。@2x
和@1x
个版本的文件,分别将它们重命名为file@2x.png,ball @ 2x.jpg,file.png和ball.jpg。您在上面看到的这个脚本是从终端运行的,而不是从automator运行的。在automator上,脚本只生成一个名为Users
的文件。
有什么问题?