bash требует, чтобы назначения переменных не отделялись от '=' пробелами. Все должно быть запущено вместе, т. Е.
#!/bin/bash
file="release-candidate-1.0.tar.gz"
patch_bas="patch-1.0."
patch_extension=".tar.gz"
i="1"
while [ -f $file ]
do
echo $file
file="${patch_base}${i}${patch_extension}"
i=$((i+1))
done
Но есть еще
Более типичным способом тестирования для ряда патчей будет
for i in {1..10} ; do
file="${patch_base}${i}${patch_extension}"
if [ -f ${file} ] ; then
echo "Found ${file}"
else
echo "NO ${file}"
fi
done
Вы можете изменить {1..10}
на любой диапазон, который вам подходит. ИЛИ, если в диапазоне отсутствуют некоторые числа, вы можете просто ввести значения, для которых вы хотите проверить, то есть for i in 2 4 6 ; do
.
Надеюсь, это поможет.