Не смешивайте код оболочки и Perl в команде rename; это все о Perl. Используйте это:
rename -n 's/cropped(\d+)/$1 + 20/e' cropped*.jpg
Удалите переключатель -n, когда вывод выглядит хорошо.
Если вы настаиваете на использовании своего грязного пути, не делайте этого используйте glob *, но текущий файл и современную оболочку:
for i in {1..20}; do
test -s "cropped$i.jpg" && rename "s/cropped$i/$(($i + 20))/" "cropped$i.jpg"
done
Я удалил expr, он устарел.
Если вы выполните следующую команду
$ file "$(readlink -f "$(type -p rename)")"
, и у вас есть результат, который содержит Perl script, ASCII text executable и не содержит ELF, тогда это кажется правильным инструментом =)
Если нет, чтобы сделать его по умолчанию (как правило, уже в случае):
$ sudo update-alternatives --set rename /path/to/rename
Замените /path/to/rename на путь вашего исполняемого файла Perl rename.
Если у вас нет этой команды, найдите своего диспетчера пакетов, чтобы установить его или выполнить это вручную (без депо ...)
Ссылка: Как установить раскладку клавиатуры в initramfs
Ссылка: Как установить раскладку клавиатуры в initramfs
Ссылка: Как установить раскладку клавиатуры в initramfs