
Bash 5.3 正式发布!这次更新除了常规的改进、修复和兼容性调整,还带来了一些非常重磅的新功能。
全新的命令替换形式
这次更新最亮眼的,是一种全新的命令替换形式。它能让命令直接在当前的 Shell 执行上下文中运行。这种新形式包含两种变体:
${ command; }
:无需创建子进程 (fork),就能捕获命令的标准输出。${| command; }
:直接在当前 Shell 中运行命令,并将结果存入REPLY
这个 Shell 变量中。
自动补全
Bash 5.3 在输入和自动补全方面也得到了显著增强:
- 新增的
GLOBSORT
变量能更精细地控制路径名补全结果的排序方式。你可以按name
(名称)、size
(大小)、blocks
(块)、mtime
(修改时间)、atime
(访问时间)、ctime
(状态变更时间)、numeric
(数值) 或none
(不排序) 等标准,自由选择升序或降序排列。 source
命令新增了-p PATH
标志,允许你指定查找文件的路径。compgen
内建命令现在会把结果存入一个 Shell 变量,而不是直接打印到屏幕。同时,read
内建命令新增的-E
选项利用了 Readline 的补全能力。即使在读取输入时,也能享受 Tab 键自动补全的便利。
Readline 底层库
Readline 是 Bash 实现命令编辑、历史记录和 Tab 补全等功能的底层库,这次它也获得了新技能:
- 新增支持不区分大小写的搜索选项。
- 新增一个命令,可以直接执行指定的 Readline 命令。
- 新增一个命令,能导出所有可能的单词补全项(以特定格式),方便其他进程使用。
脚本处理和错误报告
Bash 5.3 在脚本处理和错误报告方面也有多项提升。比如:
- 当
[[
命令里的正则表达式编译失败时,现在会打印出错误信息了。 - 在处理
#!
脚本时,系统会先检查文件的前两行,然后再判断它是不是二进制文件。
要想逐一了解 Bash 5.3 的所有新增和改进细节,请查阅完整的变更说明。
最新评论
可能是网站不稳定,过会儿再试呗。
请教403错误是什么情况??? Extracting UUP converter... Retrieving aria2 script for Microsoft Store Apps... 07/07 22:32:12 [ERROR] CUID#7 - Download aborted. URI=https://uupdump.net/get.php?id=adf22284-b67d-4ffe-b3c3-cc0209447019&pack=neutral&edition=app&aria2=2 Exception: [AbstractCommand.cc:351] errorCode=22 URI=https://uupdump.net/get.php?id=adf22284-b67d-4ffe-b3c3-cc0209447019&pack=neutral&edition=app&aria2=2 -> [HttpSkipResponseCommand.cc:239] errorCode=22 The response status is not successful. status=403
感谢,解决了字体问题
你当前登录的用户不是管理员账户(没在administrators组中)?