Вот ещё хорошее руководство по программированию:
Программирование на Shell (Unix).
Есть один трюк, связанный с использованием предопределённых параметров скрипта.
Код:
set -- 14 25 -5 0 29 155 90
echo "Length: $#"
i=0
for n in $@ ; do
let "i += 1"
echo "$i: $n"
done
Результат:
Код:
root@CyberWrt:/www# ./ex.sh
Length: 7
1: 14
2: 25
3: -5
4: 0
5: 29
6: 155
7: 90
Если нужно работать с массивом из 9 элементов, то доступ к ним можно получить через $n. Чтобы получить остальные элементы, если параметров больше 9, то нужно использовать shift, но это неудобно.
Пояснения:
Код:
Сам интерпретатор shell автоматически присваивает значения следующим переменным (параметрам):
? значение, возвращенное последней командой;
$ номер процесса;
! номер фонового процесса;
# число позиционных параметров, передаваемых в shell;
* перечень параметров, как одна строка;
@ перечень параметров, как совокупность слов;
- флаги, передаваемые в shell.