Все еще изучаю скрипты bash ...
У меня есть функция, которая изменяет размеры изображений и рассчитывает, сколько масштабировать его на основе размера файла. Мне нужно передать этот процент в качестве аргумента для команды convert, но я не могу удалить возврат из конца строки.
Когда я запускаю функцию, я получаю:
2.362413
%
Как я могу объединить их в одной строке без возврата или символа новой строки? Трубопровод к tr с помощью '\r' или '\d', похоже, не работает.
shrinkImg() {
FILENAME=$(basename "$1")
EXTENSION="${FILENAME##*.}"
sz=$(stat -c '%s' $1)
PRODUCT=echo bc <<< "scale = 10; ( 100 / ( $sz / 350000))";
PRODUCT=echo ${PRODUCT} | tr -d '\r'
PERCENT=%
TARGET=echo $TARGET
TARGET=$PRODUCT$PERCENT
echo $TARGET;
if [ $sz -ge 350000 ] && [ $EXTENSION == 'png' ] ; then
convert $1 -resize $TARGET $1
elif [ $sz -ge 350000 ] && [ $EXTENSION == 'PNG' ] ; then
convert $1 -resize $TARGET $1
elif [ $sz -ge 350000 ] && [ $EXTENSION == 'jpg' ] ; then
convert $1 -resize $TARGET $1
elif [ $sz -ge 350000 ] && [ $EXTENSION == 'JPG' ] ; then
convert $1 -resize $TARGET $1
fi
}
Также любые другие советы будут оценены!