Loading... Unix Bash 放出第 5 个主要版本这个版本主要修复了Bash 4.4 中几个明显的错误,同时也加入了一些新功能。Bash 是一个完整的POSIX 规范项目,除了有交互式命令列编辑功能,还在基架构上支援工作控制,并提供类似csh的功能等。  Bash 5.0 主要解決 Bash 4.4的错误,改变对nameref解析的方法,和一系列以模糊测试发现的潜在查出范围的错误。另外,Bash 5.0 在不执行字符拆解以符合Posix标准解释的情況下,在不同的上下文中,$@和$*的扩充也有许多改变,而且还解決不少极端案例以增加Posix的一致性。 而本次最重要的功能更新,是增加了新的环境变量,BASH_ARGV0、EPOCHSECONDS和EPOCHREALTIME。而内建的 History 功能现在可以用来删除历史数据的范围,并且将负的参数作为历史列表末端的偏移量。Bash 5.0还增加了一个选项,允许区域变量集成前一个作用域中,具有相同名称的变量名。 另外,还加入一个新的选项,启用后将允许 shell 只尝试 扩展开始下标(Subscripts)一次,但官方表示,这个功能在数学表达式中仍会出现使用问题。Bash 5.0现在会预设启用globasciiranges 选项,使用者可以在配置阶段将其设定为预设关闭。 ### CentOS 7 升级Bash方法 **查看系统当前Bash的版本**`/bin/bash --version` ```shell GNU bash,版本 4.4.0(1)-release (x86_64-unknown-linux-gnu) Copyright (C) 2016 Free Software Foundation, Inc. 许可证 GPLv3+: GNU GPL 许可证第三版或者更新版本 <http://gnu.org/licenses/gpl.html> 本软件是自由软件,您可以自由地更改和重新发布。 在法律许可的情况下特此明示,本软件不提供任何担保。 ``` 下载最新Bash 5.0的源码包 > Bash下载地址:http://ftp.gnu.org/gnu/bash/ `wget http://ftp.gnu.org/gnu/bash/bash-5.0.tar.gz` 解压缩: `tar zxvf bash-5.0.tar.gz` 进入目录: `cd bash-5.0` 开始编译: `./configure&&make&&make install` 编译完成后,重启CentOS后,新版Bash生效。 虽然通过 `/bin/bash --version`命令可以显示已经更新到最新版了,但是$BASH_VERSION变量依旧还是老版本,我们还需要加入下面的软链接: ```shell mv /bin/bash /bin/bash.bak ln -s /usr/local/bin/bash /bin/bash ``` 再次重启系统 `reboot` 完成后 `echo $BASH_VERSION`即可以显示为最新Bash版本了。  本文转自:[https://www.imydl.tech/linux/780.html](https://www.imydl.tech/linux/780.html) 最后修改:2020 年 08 月 06 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 0 如果觉得我的文章对你有用,请随意赞赏