埃里克(@emcconville)的回答是正确的,理智的方式,但是你似乎被困在一块岩石和一个坚硬的地方,所以这里有一点点疯狂的方式来做到这一点。
如果ImageMagick的总是挑选DNG
代表,你有没有办法忽略这一点,你可能会迫使它的手通过改变DNG
委托来选择你想要的方式。所以,你会改变现有的DNG
线,所以它看起来是这样的:
delegate decode="dng:decode" command=""YourDecider" " "%i" "%o" "%u"
然后你写在/usr/local/bin
一个脚本,查看文件扩展名,要么调用/opt/alfresco/scripts/arw2jpg.sh
适当的参数,或以相同的呼吁ufraw-batch
最初在delegates.xml
中的一组参数,即--silent --create-id=also --out-type=png --out-depth=16...
所以,你的脚本/usr/local/bin/YourDecider
会是这个样子 - 没有经过充分测试 - 只是给你一个想法:
#!/bin/bash
################################################################################
# YourDecider
# Choose between decoding file with arw2jpg or ufraw-batch
################################################################################
in=$1
out=$2
unique=$3
ext=$(tr "[:upper:]" "[:lower:]" <<< "${in##*.}")
if [ "$ext" = "arw" ]; then
exec /opt/alfresco/scripts/arw2jpg.sh "$in" "$out"
else
exec ufraw-batch --silent --create-id=also --out-type=png --out-depth=16 --output="${unique}.png" "$in" ...
fi
你将不得不使其可执行文件:
chmod +x /usr/local/bin/YourDecider
问题可能在[askubuntu](https://askubuntu.com/)stackexchange网站上更好。 –