Welcome To openEuler Community
Hey @flyingcs110 , thanks for your contribution to the community.
Bot Usage Manual
I'm the Bot here serving you. You can find the instructions on how to interact with me at Here . That means you can comment below every pull request or issue to trigger Bot Commands.
Contact Guide
If you have any questions, please contact the SIG: System-tool ,
and any of the maintainers: @Charlie_li1, @lostway1, @zhuchunyi ,
and any of the committers: @liuzhiqiang26 .


以下的要求不是强制性的, 未按模板评论时对issue无任何影响
issue处理注意事项:
1. 当前issue受影响的分支提交pr时, 须在pr描述中填写当前issue编号进行关联, 否则无法关闭当前issue;
2. 模板内容需要填写完整, 无论是受影响或者不受影响都需要填写完整内容,未引入的分支不需要填写, 否则无法关闭当前issue;
3. 以下为模板中需要填写完整的内容, 请复制到评论区回复, 注: 内容的标题名称(影响性分析说明, 缺陷严重等级, 受影响版本排查(受影响/不受影响), 修复是否涉及abi变化(是/否))不能省略,省略后defect-manager将无法正常解析填写内容.
评论区可能使用到的指令说明:
| 指令 | 指令说明 | 使用权限 |
|---|---|---|
| /check-issue | 触发defect-manager校验 | 不限 |
| /reason xxx | /reason +挂起或取消条件 | 不限 |
影响性分析说明:
缺陷严重等级:(Critical/High/Moderate/Low)
缺陷根因说明:
受影响版本排查(受影响/不受影响):
- openEuler-20.03-LTS-SP4:
- openEuler-22.03-LTS-SP3:
- openEuler-22.03-LTS-SP4:
- openEuler-24.03-LTS:
- openEuler-24.03-LTS-SP1:
- openEuler-24.03-LTS-SP2:
abi变化(是/否):
- openEuler-20.03-LTS-SP4:
- openEuler-22.03-LTS-SP3:
- openEuler-22.03-LTS-SP4:
- openEuler-24.03-LTS:
- openEuler-24.03-LTS-SP1:
- openEuler-24.03-LTS-SP2:
缺陷issue处理具体操作请参考:
https://atomgit.com/openeuler/cve-manager/blob/master/cve-vulner-manager/doc/md/defect-manager-manual.md
pr关联issue具体操作请参考:
https://docs.atomgit.com/docs/help/home/org_project/pullrequests/pr-related-issue


【缺陷详情及分析指导参考链接】
二、缺陷分析结构反馈
影响性分析说明:
缺陷严重等级:(Critical/High/Moderate/Low)
缺陷根因说明:
受影响版本排查(受影响/不受影响):
openEuler-20.03-LTS-SP4:待评估
openEuler-22.03-LTS-SP3:受影响
openEuler-22.03-LTS-SP4:受影响
openEuler-24.03-LTS: 不受影响
openEuler-24.03-LTS-SP1:不受影响
openEuler-24.03-LTS-SP2:不受影响
修复是否涉及abi变化(是/否):
openEuler-20.03-LTS-SP4:否
openEuler-22.03-LTS-SP3:否
openEuler-22.03-LTS-SP4:否
openEuler-24.03-LTS:无
openEuler-24.03-LTS-SP1:无
openEuler-24.03-LTS-SP2:无


@flyingcs110 影响性分析说明=>不允许为空. 缺陷根因说明=>不允许为空. 缺陷严重等级=>没有按正确格式填写


【缺陷详情及分析指导参考链接】
二、缺陷分析结构反馈
影响性分析说明: 命令行补全及候选子命令的提示功能不可用
缺陷严重等级:(Critical/High/Moderate/Low)
Low
缺陷根因说明: bash5.的缺陷导致的,当前nvme-cli的补全脚本的写法会触发该缺陷
受影响版本排查(受影响/不受影响):
openEuler-20.03-LTS-SP4:不受影响
openEuler-22.03-LTS-SP3:受影响
openEuler-22.03-LTS-SP4:受影响
openEuler-24.03-LTS: 不受影响
openEuler-24.03-LTS-SP1:不受影响
openEuler-24.03-LTS-SP2:不受影响
修复是否涉及abi变化(是/否):
openEuler-20.03-LTS-SP4:不涉及
openEuler-22.03-LTS-SP3:否
openEuler-22.03-LTS-SP4:否
openEuler-24.03-LTS:不涉及
openEuler-24.03-LTS-SP1:不涉及
openEuler-24.03-LTS-SP2:不涉及


@flyingcs110 缺陷严重等级=>没有按正确格式填写


@flyingcs110 缺陷严重等级=>没有按正确格式填写


@liuzhiqiang26 经过defect-manager解析,已分析的内容如下表所示:
| 状态 | 需分析 | 内容 |
|---|---|---|
| 已分析 | 1.影响性分析说明 | 命令行补全及候选子命令的提示功能不可用 |
| 已分析 | 2.缺陷严重等级 | Low |
| 已分析 | 3.缺陷根因定位 | bash5.的缺陷导致的,当前nvme-cli的补全脚本的写法会触发该缺陷 |
| 已分析 | 4.受影响版本排查 | openEuler-20.03-LTS-SP4:不受影响,openEuler-22.03-LTS-SP3:受影响,openEuler-22.03-LTS-SP4:受影响,openEuler-24.03-LTS:不受影响,openEuler-24.03-LTS-SP1:不受影响,openEuler-24.03-LTS-SP2:不受影响 |
| 已分析 | 5.abi变化 | openEuler-22.03-LTS-SP3:否,openEuler-22.03-LTS-SP4:否 |
请确认分析内容的准确性,确认无误后,您可以进行后续步骤,否则您可以继续分析


@liuzhiqiang26
关闭issue前,需要将受影响的分支在合并pr时关联上当前issue编号: #15
受影响分支: openEuler-22.03-LTS-SP3
具体操作参考: https://docs.atomgit.com/docs/help/home/org_project/pullrequests/pr-related-issue


【缺陷描述】:请补充详细的缺陷问题现象描述
nvme-cli提供的 bash 补全脚本/usr/share/bash-completion/completions/nvme在定义两个关联数组时使用了"先typeset -A声明、再readonly arr=(...)赋值"的两行式写法(第 10-11 行_plugin_subcmds、第 60-61 行_plugin_funcs):10 typeset -A _plugin_subcmds 11 readonly _plugin_subcmds=( ... 60 typeset -A _plugin_funcs 61 readonly _plugin_funcs=(该写法触发 bash 5.1.x 的一处变量属性处理缺陷:在函数内执行时,
readonly arr=(...)重建变量会丢失先前置入的-A关联数组属性,数组被重建为普通标量,复合赋值中的字符串下标(如[intel])被按算术表达式解析,产生致命错误:bash-completion 的动态加载器
_completion_loader就是在函数内 source 补全脚本,且用&>/dev/null静默了错误输出。因此用户输入nvme按 Tab 时:source 中止 → 补全注册语句complete -o default -F _nvme_subcmds nvme未执行 → readline 丢弃当前输入行并刷新出空提示符。修复本脚本即可规避:将两行式合并为单行
readonly -A arr=(...)即可解决,不需升级bash。一、缺陷信息
nvme-cli-1.16-2.oe2203sp4.x86_64)/usr/share/bash-completion/completions/nvme(共 1404 行)_plugin_subcmds)、第 60-61 行(_plugin_funcs)5.1.8,bash-5.1.8-16.oe2203sp4)+ bash-completion 2.11【缺陷所属的os版本】
NAME="openEuler"
VERSION="22.03 (LTS-SP4)"
ID="openEuler"
VERSION_ID="22.03"
PRETTY_NAME="openEuler 22.03 (LTS-SP4)"
ANSI_COLOR="0;31"
【内核版本】
内核无关
【缺陷所属软件及版本号】
nvme-cli-1.16-2.oe2203sp4.x86_64
【环境信息】
硬件信息--硬件无关
软件信息
rpm -qi bash
Name : bash
Version : 5.1.8
Release : 16.oe2203sp4
Architecture: x86_64
Install Date: Wed 24 Jul 2024 09:22:22 AM CST
Group : Unspecified
Size : 6366490
License : GPLv3
Signature : RSA/SHA256, Tue 25 Jun 2024 03:11:18 PM CST, Key ID 3b477c60b675600b
Source RPM : bash-5.1.8-16.oe2203sp4.src.rpm
Build Date : Tue 25 Jun 2024 03:08:41 PM CST
Build Host : dc-64g.compass-ci
Packager : http://openeuler.org
URL : https://www.gnu.org/software/bash
Summary : It is the Bourne Again Shell
Description :
Bash is the GNU Project's shell. Bash is the Bourne Again SHell. Bash is an sh-compatible
shell that incorporates useful features from the Korn shell (ksh) and C shell (csh). It is
intended to conform to the IEEE POSIX P1003.2/ISO 9945.2 Shell and Tools standard. It offers
functional improvements over sh for both programming and interactive use. In addition, most
sh scripts can be run by Bash without modification.
rpm -qi nvme-cli
Name : nvme-cli
Version : 1.16
Release : 2.oe2203sp4
Architecture: x86_64
Install Date: Tue 18 Aug 2026 07:17:06 PM CST
Group : Unspecified
Size : 827333
License : GPLv2+
Signature : RSA/SHA256, Sat 22 Jun 2024 11:17:49 PM CST, Key ID 3b477c60b675600b
Source RPM : nvme-cli-1.16-2.oe2203sp4.src.rpm
Build Date : Sat 22 Jun 2024 11:17:43 PM CST
Build Host : dc-64g.compass-ci
Packager : http://openeuler.org
URL : https://github.com/linux-nvme/nvme-cli
Summary : NVMe management command line interface
Description :
nvme-cli provides NVM-Express user space tooling for Linux.
网络信息 --不涉及组网
【问题复现步骤】
安装nvme-cli
yum install nvme-cli
bash输入“nvme ”,按tab
[root@W09386I w]# nvme [root@W09386I w]#
并未联想到补全内容,而是打印新的命令行提示符
【实际结果】
nvme命令不可通过tab补全,不可通过tabtab输出候选
【期望结果】
nvme +tab可以正常补全,tabtab可以列出候选子命令或选项
【其他相关附件信息】
无
【缺陷详情及分析指导参考链接】
二、缺陷分析结构反馈
影响性分析说明:
命令行补全及候选子命令的提示功能不可用
缺陷严重等级:(Critical/High/Moderate/Low)
Low
缺陷根因说明:
bash5.的缺陷导致的,当前nvme-cli的补全脚本的写法会触发该缺陷
受影响版本排查(受影响/不受影响):
openEuler-20.03-LTS-SP4:不受影响
openEuler-22.03-LTS-SP3:受影响
openEuler-22.03-LTS-SP4:受影响
openEuler-24.03-LTS:不受影响
openEuler-24.03-LTS-SP1:不受影响
openEuler-24.03-LTS-SP2:不受影响
修复是否涉及abi变化(是/否):
openEuler-22.03-LTS-SP3:否
openEuler-22.03-LTS-SP4:否