Bash 项目释出了第五大版本,Bash是GNU Project的Bourne Again SHell,一个完整的版本执行POSIX shell规范,还带有交互式命令行编辑,支持它的体系结构的作业控制,类似csh的功能,例如历史替换和大括号扩展,还有一系列其他功能。 有关这些功能的更多信息Bash是这种类型的shell的新手,请参阅该文件`DOC/bashref.texi”。 还有一个很大的Unix风格的手册页。该手册页是shell功能的权威描述。
这是bash的第五个主要版本。
此版本修复了bash-4.4中的几个突出错误,并介绍了几个新功能。最重要的错误修复是如何彻底改变nameref变量解析和一些潜在的越界内存通过模糊测试发现的错误。有很多变化扩展$ @和$ *在各种不支持单词分割的上下文中表演符合Posix标准解释,并附加更改以解决Posix一致性的极端情况。
最值得注意的新功能是几个新的shell变量:BASH_ARGV0,EPOCHSECONDS和EPOCHREALTIME。内置的“历史”可以删除范围历史条目,并将负面论据理解为最终的抵消的历史清单。有一个允许局部变量继承的选项前面作用域中具有相同名称的变量的值。有一个新的shell选项,启用后会导致shell尝试只展开一次关联数组下标(这是一个问题用于算术表达式)。 `globasciiranges'shell选项现在默认启用;默认情况下,它可以在配置时设置为关闭时间。
bash-4.4和bash-5.0之间存在一些不兼容的变化。该更改如何解析nameref变量意味着一些用途namerefs的行为会有所不同,尽管我试图最小化兼容性问题。默认情况下,shell仅设置BASH_ARGC和如果启用了扩展调试模式,则启动时BASH_ARGV;这是一个监督它是无条件设置并导致性能问题当脚本传递大量参数时。
Linux公社的RSS地址:https://www.linuxidc.com/rssFeed.aspx
本文永久更新链接地址:https://www.linuxidc.com/Linux/2019-01/156250.htm