このbashスクリプトを書きました。また、関数をparamで書きました。関数は通常、パラメータなしで呼び出されます。パラメータはいくつかの方法でサンプリングされましたが、どれも成功していません
#!/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 が見つかりません」というエラーがあります