Уважаемые форумчане. Прошу помощи. Ни как не могу понять логики работы вроде бы простой команды ship.
Вот небольшой пример:Имеем файл LS, который содержит несколько строк в виде
1строчка
2строчка
3строчка
4строчка
5строчка
6строчка
и т.д., допустим до 10.
имеем такую простую функцию как
#!/bin/shX=`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. Вот именно этот результат я и не могу понять. Почему она так работает ?
Заранее спасибо за помощь.
>Уважаемые форумчане. Прошу помощи. Ни как не могу понять логики работы вроде
>бы простой команды 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.
>Вот именно этот результат я и не могу понять. Почему она
>так работает ?
>Заранее спасибо за помощь.Разобрался. Спасибо. Действительно просто все оказалось.
offtopНе пиши имена функций заглавными буквами (больно смотреть)
Не пиши и не создавай имена файлов заглавными буквами (это не винда все таки, тут не принято)удачи
>offtop
>
>Не пиши имена функций заглавными буквами (больно смотреть)
>Не пиши и не создавай имена файлов заглавными буквами (это не винда
>все таки, тут не принято)
>
>удачиСпасибо, учту.