Уважаемые форумчане. Прошу помощи. Ни как не могу понять логики работы вроде бы простой команды ship.
Вот небольшой пример:Имеем файл LS, который содержит несколько строк в виде
1строчка
2строчка
3строчка
4строчка
5строчка
6строчка
и т.д., допустим до 10.
имеем такую простую функцию как
#!/bin/sh
X=`cat XL`
TST_SHIFT () {
shift $1
x_sh=""$1
}
TST_SHIFT 5 $X
echo "$x_sh"
При таком раскладе, функция в echo выдаст 5 ряд. Тут все правильно и понятно.
Но... если строчку сделать в виде TST_SHIFT 5 6 $X, то как результат будет строчка 4. Если сделать TST_SHIFT 5 7 12 $X, то как результат будет 3. Т.е. следущие цифры получаются как -1. Вот именно этот результат я и не могу понять. Почему она так работает ?
Заранее спасибо за помощь.