为什么我在 Bash 中调用函数时出现 _parse_usage 错误?

为什么我在 Bash 中调用函数时出现 _parse_usage 错误?

因此我收到了以下错误:

bash: _parse_usage: line 16: syntax error near unexpected token `('
bash: _parse_usage: line 16: ` -?(\[)+([a-zA-Z0-9?]))'
bash: error importing function definition for `_parse_usage'
bash: _longopt: line 14: syntax error near unexpected token `('
bash: _longopt: line 14: ` --+([-a-z0-9_]))'
bash: error importing function definition for `_longopt'

显然仅限于函数调用。

答案1

事实证明,错误来自bash-completion软件包 ( apt install bash-completion)。重新安装它没有效果,所以它没有损坏。经过反复尝试,我将此错误的触发原因追溯到一条看似无害的行。

set -a

在源自 .bashrc 的文件中

因此,导出 .bashrc 中的所有新变量不是一个好主意,除非你使用以下命令再次关闭该选项

set +a

相关内容