Я очень новичок в сценариях оболочки, и у меня есть базовый сценарий изменения размера изображения:
#!/bin/bash
isResizeAnotherImage=Y;
for isResizeAnotherImage in Y y N n
do
echo "option entered before if: $isResizeAnotherImage";
if [ $isResizeAnotherImage='Y' ] || [ $isResizeAnotherImage='y' ]; then
echo "Enter the file name : ";
read imageFileName;
read -p "Enter desired size: " imageDesiredSize;
mogrify -resize $imageDesiredSize $imageFileName 2>/dev/null;
echo "Resize another image ? Y/N : ";
read isResizeAnotherImage;
echo "option entered in if: $isResizeAnotherImage";
else
echo "option entered : $isResizeAnotherImage";
exit 1;
fi;
done
Теперь, он успешно изменяет размеры первого изображения, спрашивает «Изменить размер другого изображения?».Здесь я ввожу 'N'.Но в следующем цикле это показывает, что значение флага не было изменено на 'N'.Таким образом, он входит в условие if.Почему это происходит и как это предотвратить?