The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Область видимости переменной"
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"Область видимости переменной"
Сообщение от Agp emailИскать по авторуВ закладки on 23-Май-03, 19:00  (MSK)
Здравствуйте.
Какая то проблемма с областью видимости переменной.
Есть такой скриптик, он в цикле делает обработку строк файла и в зависимости от значений в этом файле устанавливает переменную типа как флаг ошибки. Посмотрите пожалуста, в первом варианте не работает (изменённое состояние RETVAL  не cохраняется после выхода из цикла), а во втором работает -- почему???
Скрипт:
#!/bin/sh
cf()
{
RETVAL=3
echo $RETVAL
cat par.txt | grep -v "#" | while read line # 1 variant
#while read line # 2 variant
do
RETVAL=1
i=`expr $i + 1`
echo $RETVAL
done
echo $RETVAL
#return $RETVAL
}

cf # 1 variant
#cf < par.txt # 2 variant
#echo $RETVAL

Файл (например так):
1
2

  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "Область видимости переменной"
Сообщение от DonkeyHot Искать по авторуВ закладки on 26-Май-03, 18:33  (MSK)
>в первом варианте не работает
>а во втором работает
>-- почему???
В первом варианте "while read" работает в _другом_ процессе.
Нужно читать, что и как запускает sh в случае наличия в строке символа '|'.
  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру