Модераторы: xvr
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> при выходе из цикла переменная теряет значение, в shell'е 
:(
    Опции темы
d2e8k
Дата 4.8.2006, 16:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 68
Регистрация: 20.9.2005

Репутация: нет
Всего: нет



Добрый день!
Вот такой простой скрипт
#!/bin/sh

tst=0

cat filename | while read rows
do
  tst=`expr $tst + 1`
  echo $tst
done

echo 'end:'$tst

Выполняю
$ sh _val.sh 
1
2
3
end:0
После выхода из цикла надо использовать значение переменной, а оно обнуляется. Как сделать, чтобы переменная не теряла значение?
PM MAIL   Вверх
bsa
Дата 4.8.2006, 17:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 16
Всего: 196



Операция перенаправления вызывает новый шелл для того, что после. Таким образом cat работает в текущем шелле, а while...done в другом.
Используй операцию ввода из файла:
Код
#!/bin/sh

tst=0

while read rows
do
  tst=`expr $tst + 1`
  echo $tst
done < filename

echo 'end:'$tst

PM   Вверх
d2e8k
Дата 4.8.2006, 17:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 68
Регистрация: 20.9.2005

Репутация: нет
Всего: нет



Большое спасибо! Получилось!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Программирование под Unix/Linux"
xvr
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой "Код".
  • Вопросы мобильной разработки тут
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, xvr.

 
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Программирование под Unix/Linux | Следующая тема »


 




[ Время генерации скрипта: 0.0410 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.