Это побочный продукт этого комментария в выпуске № 4206 от @0rax.
Commit d383e3b изменил read
, чтобы всегда определять переменную, даже если данные не были прочитаны. Предполагается, что было предоставлено по крайней мере одно имя переменной. Но в настоящее время разрешено вызывать read
без имен переменных. Что не имеет смысла. Единственная причина, которая имеет смысл в bash и подобных оболочках, заключается в том, что они по умолчанию имеют имя var REPLY
. Fish этого не делает и поэтому не должен позволять вызывать read
без хотя бы одного имени переменной. Даже если пользователь просто хочет отбросить строку ввода, он должен указать имя переменной, в которой будет храниться строка текста.
Вопрос в том, должны ли мы изменить это для выпуска 2.7.0 — финального выпуска в серии 2.x. Мы обязательно должны изменить это для версии 3.0.0.
Думаю заставить вести себя как на 2.7, а на 3.0 сделать ошибку.
Могу подтвердить, что 71af1a9 восстанавливает желаемое поведение, описанное в https://github.com/fish-shell/fish-shell/issues/4206.
Благодарю за быстрое исправление !
Слияние с основной веткой для включения в нашу версию fish 3.0.
Самый полезный комментарий
Думаю заставить вести себя как на 2.7, а на 3.0 сделать ошибку.