Bug 176 - поведение функции read расходится с документацией
: поведение функции read расходится с документацией
Status: CLOSED NOTABUG
: Sisyphus
(All bugs in Sisyphus/bash)
: unstable
: all Linux
: P4 minor
Assigned To:
:
:
:
:
:
  Show dependency tree
 
Reported: 2001-11-24 19:44 by
Modified: 2003-08-25 15:18 (History)


Attachments


Note

You need to log in before you can comment on or make changes to this bug.


Description From 2001-11-24 19:44:59
Модель:
echo -e \'a\\tb\\tc\\td\' | ( read a b c; echo $a-$b-$c )

При этом последний \\t (нормально входящий в IFS) превращается в пробел (проверено прогоном сквозь od -h).

В man bash говорят, что \"хвост\" _вместе_ с разделителями должен был достаться последней переменной (в примере -- c).

bash-2.04-ipl2mdk.
---

---
zsh работает так, как должен бы и bash.
------- Comment #1 From 2002-01-23 20:10:04 -------
Этот пример не показывает ошибки. Попробуйте поставить замещаемые параметры в
двойные кавычки:

echo -e \'a\\tb\\tc\\td\' | ( read a b c; echo \"$a-$b-$c\" ) | od -t
a

и Вы увидете, что знак Horizontal Tab остается там (bash-2.05-alt4).

Он испарялся при прохождении стадии word splitting.
------- Comment #2 From 2002-01-23 20:10:04 -------
Этот пример не показывает ошибки. Попробуйте поставить замещаемые параметры в
двойные кавычки:

echo -e \'a\\tb\\tc\\td\' | ( read a b c; echo \"$a-$b-$c\" ) | od -t
a

и Вы увидете, что знак Horizontal Tab остается там (bash-2.05-alt4).

Он испарялся при прохождении стадии word splitting.