我有下面的 bash 脚本,用于 AI 升级一堆图像,然后重新编码它们以减少文件大小,如果我从终端调用脚本,它工作得很好,但当我在 nautilus 中选择它作为 nautilus 脚本时,它就不行了。
我已将脚本放入 nautilus 脚本文件夹中,它出现在菜单中,脚本运行,但重新编码图像的部分不起作用,我不知道为什么,因为从 nautilus 调用的脚本没有调试输出。
也许有一些环境变量如果从 nautilus 启动则不起作用,这就是我能想到的。
#!/bin/sh
PS4='$LINENO: '
OIFS="$IFS"
IFS=$'\n'
set -x
for arg
do
mkdir "${arg}US"
/Programs/realesrgan-ncnn-vulkan -i "$arg" -o "${arg}US" -n realesrgan-x4plus -s 4 -f jpg
rm -rf "$arg"
cd "${arg}US"
DIR="${arg}US/*"
for picture in $DIR
do
nice -19 /usr/bin/cjpeg -quality 85 "$picture" > "${picture%.*}RC.jpg"
rm "$picture"
done
done
IFS="$OIFS"