我写了这个 bash 脚本。我也用参数写了我的函数。函数通常不带参数调用。参数采样了几种方式,但都没有成功
#!/bin/bash
RESULT_DIR="./imgR"
rm -r $RESULT_DIR
mkdir $RESULT_DIR
widthOrigin=0
heightOrigin=0
widthR=0
heightR=0
for i in ~/img/{*.jpg,*.jpeg,*.png,*.JPG,*.JPEG,*.PNG}
do
echo "file" $i
if [ -f $i ]
then
echo "file1"
widthOrigin=`identify -format "%w" $i`
#$checkTwo
widthR=$(checkTwo $widthOrigin)
heightOrigin=`identify -format "%h" $i`
#heightR=$(checkTwo $heightOrigin)
echo "width origin" $widthOrigin " width power 2" $widthR
echo "height origin" $heightOrigin "wicth power 2" $heightR
#convert -resize $widthR $heightR $i $RESULT_DIR/$(basename "$i")
fi
done
exit 0
和我的功能
checkTwo(){
echo "checkTwo"
param=$1
echo "param" $param
if [ param -ge "1024"]
then
return 1024
else
if [param -ge "512"]
then
return "512"
else
if [param -ge "256"]
then
return "256"
else
if [param -ge "64"]
then
return "64"
else
if [param -ge "32"]
then
return "32"
else
if [param -ge "16"]
then
return "16"
else
if [param -ge "4"]
return "4"
else
return "2"
fi fi fi fi fi fi fi
}
}
#end
但在“widthR=$(checkTwo $widthOrigin)”行中出现错误“未找到函数 widthOrigin”