Bash 5.2 shell 可用

经过二十个月的开发,大多数 Linux 发行版默认使用的新版本 GNU Bash 5.2 命令解释器已经发布。 与此同时,创建了 readline 8.2 库的版本,用于在 bash 中组织命令行编辑。

主要改进包括:

  • 重写代码以解析命令替换结构(命令替换,替换执行另一个命令的输出,例如“$(command)”或“command”)。 新的实现使用对 bison 解析器的递归调用,并具有更好的语法检查和早期检测替换结构中的错误的功能。
  • 改进了数组索引的解析和扩展。 实现了在内置 unset 命令中使用“@”和“*”参数来重置具有给定值的键的功能,而不是重置整个数组。
  • 添加了新设置“patsub_replacement”,设置后,替换字符串中的“&”字符用于替换字符串中与指定模式匹配的部分。 要插入文字“&”,您需要使用反斜杠将其转义。
  • 扩展了不分叉额外进程的情况,例如,使用“$(”时不再使用分叉
  • 已经实施了用于计时器和超时计算的新内部框架。
  • 可以在构建阶段启用数组的替代实现(configure —enable-alt-array-implementation),该实现经过优化,以增加内存消耗为代价实现最大访问速度。
  • 本地化中使用的 $'...' 和 $"..." 替换的使用已得到扩展。 添加了 noexpand_translations 设置和“configure --enable-translatable-strings”构建选项来控制是否启用对可本地化替换 $"..." 的支持。
  • 默认情况下添加并启用“globskipdots”设置,该设置禁用返回“.”。 和打开路径时的“..”。

来源: opennet.ru

添加评论