Fish-shell: 不允许在没有至少一个 var 名称的情况下执行“读取”

创建于 2017-07-17  ·  3评论  ·  资料来源: fish-shell/fish-shell

这是@0rax 在 issue #4206 中的评论的衍生。

提交 d383e3b 更改read以始终定义变量,即使没有读取数据也是如此。 它假定至少提供了一个变量名称。 但目前在没有变量名的情况下调用read是合法的。 这没有任何意义。 在 bash 和类似 shell 中有意义的唯一原因是它们默认为 var name REPLY 。 Fish 不会这样做,因此不应允许在没有至少一个 var 名称的情况下调用read 。 即使用户只是想丢弃一行输入,他们也应该指定一个 var 名称来存储该行文本。

问题是我们是否应该为 2.7.0 版本(2.x 系列中的最终版本)更改这一点。 我们绝对应该在 3.0.0 版本中更改它。

enhancement

最有用的评论

我认为让它的行为与 2.7 一样,并使其成为 3.0 的错误。

所有3条评论

我认为让它的行为与 2.7 一样,并使其成为 3.0 的错误。

可以确认 71af1a9 恢复了https://github.com/fish-shell/fish-shell/issues/4206 中描述的所需行为。

感谢您的快速修复!

合并到主要分支以包含在我们的 fish 3.0 版本中。

此页面是否有帮助?
0 / 5 - 0 等级