URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 6571
[ Назад ]

Исходное сообщение
"Простая команда ship"

Отправлено dex_tm , 30-Июн-07 00:03 
Уважаемые форумчане. Прошу помощи. Ни как не могу понять логики работы вроде бы простой команды 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. Вот именно этот результат я и не могу понять. Почему она так работает ?
Заранее спасибо за помощь.


Содержание

Сообщения в этом обсуждении
"Простая команда ship"
Отправлено dex_tm , 30-Июн-07 12:09 
>Уважаемые форумчане. Прошу помощи. Ни как не могу понять логики работы вроде
>бы простой команды 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.
>Вот именно этот результат я и не могу понять. Почему она
>так работает ?
>Заранее спасибо за помощь.

Разобрался. Спасибо. Действительно просто все оказалось.


"Простая команда ship"
Отправлено vic , 02-Июл-07 12:39 
offtop

Не пиши имена функций заглавными буквами (больно смотреть)
Не пиши и не создавай имена файлов заглавными буквами (это не винда все таки, тут не принято)

удачи


"Простая команда ship"
Отправлено dex_tm , 02-Июл-07 13:35 
>offtop
>
>Не пиши имена функций заглавными буквами (больно смотреть)
>Не пиши и не создавай имена файлов заглавными буквами (это не винда
>все таки, тут не принято)
>
>удачи

Спасибо, учту.