n-1 циклов означает, что последний элемент не следует рассматривать.
Используйте следующий подход (при условии, что ваш входной аргумент всегда будет строкой подстрок, разделенных пробелами):
s=$1
for n in ${s:0:-2}
do
echo $n
done
$ {s: 0: -2}
- фрагмент элементов, содержащий все элементы, кроме последнего one
^ ^
| |
from to
Использование
для i в «$ @»; сделать echo $ i; done
Не нужно указывать $ 1, это не обязательно.
Edit: Я неправильно понял. Если вы хотите вывести $ 1-1, echo $ (($ i-1))
Если вы пытаетесь повторить i-1 раз, используйте модификацию этого:
for ((i=1; i<=3; i++))
{
echo $x
}
Пожалуйста, опубликуйте свой скрипт 'bubbleort' полностью или поясните свой вопрос.