[devel] IFS="()" read

Alexey Tourbin =?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Ср Окт 3 02:04:25 MSD 2007


On Wed, Oct 03, 2007 at 12:54:05AM +0300, Led wrote:
> 03.10.07, Alexey Tourbin <at на altlinux.ru>:
> >
> > $ echo 'executable(cat)' |sh -c 'IFS="()" read t r; echo $t $r'
> > executable cat
> > $ echo 'executable(cat)' |ash -c 'IFS="()" read t r; echo $t $r'
> > executable cat
> > $ echo 'executable(cat)' |ksh -c 'IFS="()" read t r; echo $t $r'
> > executable cat)
> > $
> >
> > Какой из шеллов "на самом деле" прав?
> > http://www.opengroup.org/onlinepubs/007908799/xcu/chap2.html
> 
> Если перед "read ..." ставить ";" или поставить его с новой строки, то
> все шеллы правы.

Но некоторые правее. :)

$ echo 'executable(cat)' |ksh -c 'IFS="()"; read t r; echo $t $r'
executable cat 
$ echo 'executable(cat)' |zsh -c 'IFS="()"; read t r; echo $t $r'
executable cat)
$ 

Похоже на явный глюк в ksh -- типа IFS "не полностью присваивается".
(А zsh вообще особо не претендует на совместимость...)
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20071003/9561346b/attachment-0002.bin>


Подробная информация о списке рассылки Devel