Bash文件测试条件
我正在使用Hugin工具集的命令行版本生成全景图。在执行脚本时,所有图像都被排序到由n个图像组成的文件夹中,这些图像由单个全景组成。根据混合过程的执行情况,可能会产生两个文件名之一:Bash文件测试条件,bash,conditional,Bash,Conditional,我正在使用Hugin工具集的命令行版本生成全景图。在执行脚本时,所有图像都被排序到由n个图像组成的文件夹中,这些图像由单个全景组成。根据混合过程的执行情况,可能会产生两个文件名之一:pano.tif和pano\u blended\u fused.tif 无论生成哪个文件,我都希望将该文件转换为jpg并调整大小。我现在的代码是 dirlist=$(find . -mindepth 1 -maxdepth 1 -type d \( ! -name completed \) | sort -n) fo
pano.tif
和pano\u blended\u fused.tif
无论生成哪个文件,我都希望将该文件转换为jpg并调整大小。我现在的代码是
dirlist=$(find . -mindepth 1 -maxdepth 1 -type d \( ! -name completed \) | sort -n)
for dir in $dirlist
do
#pano generating gode goes here
#Downsize and convert panorama
#######################################################################
tifImage=
jpgImage=
if [ -e "pano.tif" ]; then
tifImage="pano.tif"
jpgImage="pano.jpg"
echo "Working on pano.tif"
echo ""
elif [ -e "pano_blended_fused" ]; then
tifImage="pano_blended_fused.tif"
jpgImage="pano_blended_fused.jpg"
echo "Working on pano_blended_fused.tif"
echo ""
fi
#convert pano to jpg and get count of images in photo folder
echo ""
echo "Converting $image to jpg and creating two versions"
echo ""
mogrify -format jpg $tifImage >> "$imagePath/$dir/log.txt"
num=$(ls -l "$webPath/photos" | wc -l)
prefix=$((num+1))
#convert full size pano to 1000 pixels high and rename with prefix number
#move to /photos folder
convert $jpgImage -geometry x1000 "$prefix-pano.jpg" >> "$imagePath/$dir/log.txt"
mv "$prefix-pano.jpg" "$webPath/photos" >> "$imagePath/$dir/log.txt"
#convert full size pano to 600 pixels wide and rename with prefix number
#move to /thumbs folder
convert $jpgImage -geometry 600x "$prefix-pano.jpg" >> "$imagePath/$dir/log.txt"
mv "$prefix-pano.jpg" "$webPath/thumbs" >> "$imagePath/$dir/log.txt"
done
昨晚我刚拍了一批照片,在15张要生成的全景图中,只有9张进入了destiniation文件夹。所有其他人在第一个convert
命令中抛出一个错误,指出它缺少一个图像文件名n-pano.tif
,而$tifImage
变量应该是pano\u混合的.tif
我需要做什么才能使“pano\u blended\u fused”图像通过转换过程?您忘记包含完整的文件名,扩展名丢失:
elif [ -e "pano_blended_fused" ]; then
vs
因此,变量从未更改,
convert
也没有得到它想要的结果。感谢您指出这个愚蠢的错误。我想我错过了一个新手的失误,真是太累了。
elif [ -e "pano_blended_fused.tif" ]; then