Главная страница


ru.unix

 
 - RU.UNIX ----------------------------------------------------------------------
 From : Alexey Morozov                       2:5020/400     11 Dec 2000  11:22:19
 To : yx
 Subject : Re: Памяти любителей shell программинга посвящается
 -------------------------------------------------------------------------------- 
 
 yx <ypp@mail.univ.kiev.ua> wrote:
 
 >> Вот такой вот простецкий скрипт, который я старался писать максимально
 >> аккуратно. Внимание, вопрос: у кого что напечаталось в результате его
 >> исполнения? Я пробовал на bash-2.03.0(1)-release, bash-2.04.11(1)-release,
 >> ash какой-то версии, ksh-5.2.12, и результаты меня, мягко говоря, озадачили.
 >> Это так и задумано, что из простого while'а в рамках _одного процесса_
 >> не передать переменные наружу??
 y>  1) комманды для конвейера выполняются в отдельных subshell'ах
 y>   - значит "в рамках одного контекста" в твоем случае не справедливо.
 y>  2) $$ выдает pid текущей shell, а не subshell - отсюда следует,
 y>   что несмотря на то что, ты видишь в своем примере один и тот же pid
 y>   - это разные шеллы.
 
 Вот это - может быть.
 
 y>  3) "не передать переменные наружу"
 y>       $ man sh
 y>       /import
 y>       Pattern not found
 y>   - справедливо.   
 
 y>  end) export (исходя из того, где ты его расположил,
 y>   ты его видимо понимаешь как import,)
 y>   - тебе тоже не поможет - им ты можешь передать значение переменной
 y>   в subshell, но все ее изменения внутри subshell'а будут касаться только
 y>   ее локальной копии.  Используя read с pipe (и соотв-но subshell)
 y>   модифицировать значение пер-й (supshell'а) тоже не получится.
 
 Hу, учитывая 1) и 2) это, в общем, понятно. Про $$ - спасибо, я, на самом
 деле, пользовал (и вспоминал) его по аналогии с perlvar, не заглядывая особо
 в man по sh, кто б знал, что там свинья обнаружится.
  
 
 y> p.s.
 y>  Считай что-нужно в пер-ю, с ней и работай в тек-м shell'е.
 
 y>  И не понятно зачем столько shell'ов перебирать - в любой доке
 y>  к стд bourne shell есть инф-я о назн-и pipeline и export.
 
 Я просто привык, что очевидность кода должна вызывать очевидность
 результата. Собственно говоря, export'а в оригинале не было, это я уж с горя
 туда впихнул все, что пришло на ум. Hу и про неочевидность $$ - выше...
 А нормального решения проблемы (иначе, как, удавив cat, сделать <"$INPUT"),
 я так и не увидел :-((
 --- ifmail v.2.15dev5
  * Origin: Demos online service (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Памяти любителей shell программинга посвящается   Alexey Morozov   09 Dec 2000 18:30:16 
 Re: Памяти любителей shell программинга посвящается   Alexey Morozov   09 Dec 2000 18:54:37 
 Re: Памяти любителей shell программинга посвящается   Valentin Nechayev   09 Dec 2000 23:41:38 
 Re: Памяти любителей shell программинга посвящается   Valeriy E. Ushakov   10 Dec 2000 03:08:07 
 Re: Памяти любителей shell программинга посвящается   Alexey Morozov   11 Dec 2000 11:10:14 
 Re: Памяти любителей shell программинга посвящается   Alexey Morozov   11 Dec 2000 11:10:14 
 Re: Памяти любителей shell программинга посвящается   yx   10 Dec 2000 03:40:30 
 Re: Памяти любителей shell программинга посвящается   Alexey Morozov   11 Dec 2000 11:22:19 
 Re: Памяти любителей shell программинга посвящается   yx   12 Dec 2000 06:12:22 
 Re: Памяти любителей shell программинга посвящается   Eugene B. Berdnikov   10 Dec 2000 06:03:36 
 Re: Памяти любителей shell программинга посвящается   yx   10 Dec 2000 07:08:22 
 Re: Памяти любителей shell программинга посвящается   yx   10 Dec 2000 08:42:49 
 Re: Памяти любителей shell программинга посвящается   Eugene B. Berdnikov   10 Dec 2000 16:03:02 
 Re: Памяти любителей shell программинга посвящается   yx   11 Dec 2000 22:43:30 
 Re: Памяти любителей shell программинга посвящается   Eugene B. Berdnikov   12 Dec 2000 06:03:53 
 Re: Памяти любителей shell программинга посвящается   yx   12 Dec 2000 06:44:34 
 Re: Памяти любителей shell программинга посвящается   Eugene B. Berdnikov   12 Dec 2000 15:04:51 
 Re: Памяти любителей shell программинга посвящается   Artur Penttinen   12 Dec 2000 16:21:47 
 Re: Памяти любителей shell программинга посвящается   yx   12 Dec 2000 19:59:27 
Архивное /ru.unix/11749909fdddf.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional