ALT Linux Team development discussions
 help / color / mirror / Atom feed
* [devel] Bassh programming question
@ 2005-05-06 12:01 Sviataslau Svirydau
  2005-05-06 12:02 ` Dmitry V. Levin
  2005-05-06 12:46 ` [devel] Bash " Sviatoslav Sviridov
  0 siblings, 2 replies; 4+ messages in thread
From: Sviataslau Svirydau @ 2005-05-06 12:01 UTC (permalink / raw)
  To: devel

Господа,

Подскажите плз можно ли обойти такую вот проблему в башевом скрипте:

Хочется использовать конструкцию

exec i>"$file"

для открытия дескриптора i для записи в файл (точнее, fifo). 
Соответственно, то же самое для чтения. И хочется хранить номера 
дескрипторов в переменных (и количество их может различаться от случая к 
случаю).
Однако, следующая конструкция не работает:

$ fd=5; exec $fd>"$file "
bash: exec: 5: not found

Можно ли как-то обойти такое поведение и выполнить задуманное?

-- 
Best Regards,
Sviatoslav Sviridov <Sviataslau_Svirydau at epam.com>
phone:  +375 (17) 210 1662, ext. 1503
fax:    +375 (17) 210 1168
mobile: +375 (29) 641 4214
-- 
Micro Credo:
	Never trust a computer bigger than you can lift.



^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [devel] Bassh programming question
  2005-05-06 12:01 [devel] Bassh programming question Sviataslau Svirydau
@ 2005-05-06 12:02 ` Dmitry V. Levin
  2005-05-06 12:13   ` Sviataslau Svirydau
  2005-05-06 12:46 ` [devel] Bash " Sviatoslav Sviridov
  1 sibling, 1 reply; 4+ messages in thread
From: Dmitry V. Levin @ 2005-05-06 12:02 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: Type: text/plain, Size: 566 bytes --]

Hi,

On Fri, May 06, 2005 at 03:01:06PM +0300, Sviataslau Svirydau wrote:
> Хочется использовать конструкцию
> 
> exec i>"$file"
> 
> для открытия дескриптора i для записи в файл (точнее, fifo). 
> Соответственно, то же самое для чтения. И хочется хранить номера 
> дескрипторов в переменных (и количество их может различаться от случая к 
> случаю).
> Однако, следующая конструкция не работает:
> 
> $ fd=5; exec $fd>"$file "
> bash: exec: 5: not found
> 
> Можно ли как-то обойти такое поведение и выполнить задуманное?

Да, eval.


-- 
ldv

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [devel] Bassh programming question
  2005-05-06 12:02 ` Dmitry V. Levin
@ 2005-05-06 12:13   ` Sviataslau Svirydau
  0 siblings, 0 replies; 4+ messages in thread
From: Sviataslau Svirydau @ 2005-05-06 12:13 UTC (permalink / raw)
  To: ALT Devel discussion list

Dmitry V. Levin wrote:
> Hi,
> 
> On Fri, May 06, 2005 at 03:01:06PM +0300, Sviataslau Svirydau wrote:
> 
>>Хочется использовать конструкцию
>>
>>exec i>"$file"
>>
>>для открытия дескриптора i для записи в файл (точнее, fifo). 
>>Соответственно, то же самое для чтения. И хочется хранить номера 
>>дескрипторов в переменных (и количество их может различаться от случая к 
>>случаю).
>>Однако, следующая конструкция не работает:
>>
>>$ fd=5; exec $fd>"$file "
>>bash: exec: 5: not found
>>
>>Можно ли как-то обойти такое поведение и выполнить задуманное?
> 
> 
> Да, eval.

Таки получилось, спасибо...
На самом деле, я eval тоже пробовал, но оказалось, что неправильно...
Правильно: eval "exec $fd>file"
(я не заключал все выражение в кавычки)

-- 
Best Regards,
Sviatoslav Sviridov <Sviataslau_Svirydau at epam.com>
phone:  +375 (17) 210 1662, ext. 1503
fax:    +375 (17) 210 1168
mobile: +375 (29) 641 4214
-- 
pain, n.:
	One thing, at least it proves that you're alive!


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [devel] Bash programming question
  2005-05-06 12:01 [devel] Bassh programming question Sviataslau Svirydau
  2005-05-06 12:02 ` Dmitry V. Levin
@ 2005-05-06 12:46 ` Sviatoslav Sviridov
  1 sibling, 0 replies; 4+ messages in thread
From: Sviatoslav Sviridov @ 2005-05-06 12:46 UTC (permalink / raw)
  To: ALT Devel discussion list

Еще один вопрос:
А можно ли как-то реализовать что-то вроде poll/select при чтении из пайпа?
Пока что как вариант есть только последовательный read -t $TMOUT -u $fd, 
но здесь минимальное значение TMOUT=1, поскольку при 0 всегда 
возвращается код ошибки. В bash/builtins/read.def упоминается, что 
возможно стоит проверять наличие чего-ниьт для чтения при помощи select, 
однако это не реализовано.

-- 
Best Regards,
Sviatoslav Sviridov <Sviataslau_Svirydau at epam.com>
phone:  +375 (17) 210 1662, ext. 1503
fax:    +375 (17) 210 1168
mobile: +375 (29) 641 4214
-- 
pain, n.:
	One thing, at least it proves that you're alive!


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2005-05-06 12:46 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-05-06 12:01 [devel] Bassh programming question Sviataslau Svirydau
2005-05-06 12:02 ` Dmitry V. Levin
2005-05-06 12:13   ` Sviataslau Svirydau
2005-05-06 12:46 ` [devel] Bash " Sviatoslav Sviridov

ALT Linux Team development discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
		devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
	public-inbox-index devel

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git