|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : Maxim A. Samoilenko 2:5020/400 28 Jan 2003 07:58:22 To : Eugene Grosbein Subject : Re: Bug or feature? -------------------------------------------------------------------------------- Eugene Grosbein <Eugene.Grosbein@f1.n5006.z2.fidonet.org> wrote: > 27 янв 2003, понедельник, в 14:52 KRAST, Maxim A. Samoilenko написал(а): > > smax@zeus[pf:0]~>>> echo $BASH_VERSION > MAS>> 2.05b.0(1)-release > smax@zeus[pf:0]~>>> IFS=': '; echo 'blah : nah'| { \ > >>> { read a b c ; echo "a='$a' b='$b' c='$c'"; } > MAS>> a='blah' b='' c='nah' > MAS>> ^^^^ > MAS>> Откуда там пустое значение? > MAS>> Кого из нас глючит? > >> Тебя глючит, так и должно быть. Ты сказал, что двоеточие и пробел - > >> разделители. Между первым и вторым разделителями в твоей строке никего нет, > >> вот оно и пустое. > MAS> Вполне логично. Hо ты согласен, что в таком случае, если ":" заменить на > MAS> табуляцию, то тоже должны появится лишние поля, что было бы совсем > MAS> неудобно? > > Откуда "лишние" поля и почему они "лишние"? Поля между разделителями. Вот смотри: 1. smax@delirium[pa]~>IFS=': '; echo 'blah : nah'| { \ > read a b c ; echo "a='$a' b='$b' c='$c'"; } a='blah' b='' c='nah' 2. smax@delirium[pa]~>IFS=' '; echo 'blah nah'| { \ > read a b c ; echo "a='$a' b='$b' c='$c'"; } a='blah' b='nah' c='' Второй случай отличается от первого только тем, что там табуляция вместо ":". Как это можно объяснить? > > MAS> И в случае с табуляцией такого не наблюдается.. Больше таки похоже на > MAS> багу. > > Hет тут баги. Ты задачу осознай и изложи сначала. > > Eugene -- Maxim Samoilenko (SMAX-RIPE) Internet Data Center "ColoCALL" Duty System Administrator 380-44-4617988 --- ifmail v.2.15dev5 * Origin: Internet Data Centre "Colocall" (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/135239dd16955.html, оценка из 5, голосов 10
|