Основная часть времени, затрачиваемого вашим циклом, вероятно, приходится на вызов вашего zeropad.sh
скрипта.
Вместо этого сделайте все в одном скрипте:
#!/bin/bash
for filename in left-*.tiff; do
if [[ "$filename" =~ ^left-0*([1-9]?[0-9]+)\.tiff$ ]]; then
num=${BASH_REMATCH[1]}
newname="left-$( printf '%06d' "$num" ).tiff"
if [ "$filename" != "$newname" ] && [ ! -e "$newname" ]; then
echo mv "$filename" "$newname"
fi
fi
done
Удалите echo
после того, как убедитесь, что скрипт работает правильно.
После долгих отладок проблема заключалась в том, что переменные среды не устанавливались при запуске в сценариях инициализации, и по неизвестным мне причинам ftp
требуется установка переменной $HOME
.
После изменения сценария для экспорта $HOME
ftp
работает нормально.