D M*_*eon 15 shell bash function
针对 CVE-2014-6271 安全问题更新 bash 时遇到此错误:
# yum update bash
Running transaction (shutdown inhibited)
Updating : bash-4.2.47-4.fc20.x86_64
/bin/sh: error importing function definition for `some-function'
Run Code Online (Sandbox Code Playgroud)
D M*_*eon 18
[在第一条评论后编辑:@chepner - 谢谢!]
/bin/bash 允许在函数名称中使用连字符,/bin/sh(Bourne shell)不允许。在这里,有问题的“some-function”已经被 bash 导出,bash 调用 yum 调用 /bin/sh 报告了上面的错误。
修复:将 shell 函数重命名为没有连字符
man bash 说 bash 标识符可能包括:“仅包含字母数字字符和下划线”
/bin/sh 错误更加明确:
some-function () { :; }
Run Code Online (Sandbox Code Playgroud)
sh: `some-function': 不是一个有效的标识符