[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