У меня есть тривиальный цикл for в скрипте bash, который не работает, и я не вижу, что не так.
#!/bin/bash
function deleteOut {
for index in {0..$1}
do
echo "/bin/rm -rf ./OUT/Message_${index}.log"
/bin/rm -rf ./OUT/Message_${index}.log
done
}
и вызвал его с помощью
deleteOut 5
Я ожидал петлю вроде
/bin/rm -rf ./OUT/Message_0.log
/bin/rm -rf ./OUT/Message_1.log
/bin/rm -rf ./OUT/Message_2.log
/bin/rm -rf ./OUT/Message_3.log
/bin/rm -rf ./OUT/Message_4.log
/bin/rm -rf ./OUT/Message_5.log
Вместо этого я получил
/bin/rm -rf ./OUT/Message_{0..5}.log
Я решил проблему, выполнив что-то вроде этого
find ./OUT -name "Message_*.log" | xargs /bin/rm
но это не главное. Почему мой первый подход не сработал?