我在我的bash_completion文件中启用了.bashrc。现在,每当我启动一个终端时,它都会向我显示这样的警告:
bash: [: too many arguments
bash: [: =: unary operator expected
bash: [: =: unary operator expected
bash: [: too many arguments有关更多信息,我运行了以下命令:
$ bash .bashrc它向我展示了这样的警告:
/etc/bash_completion.d/gcc: line 50: [: too many arguments
/etc/bash_completion.d/ifupdown: line 3: [: =: unary operator expected
/etc/bash_completion.d/ifupdown: line 19: [: =: unary operator expected
/etc/bash_completion.d/man: line 3: [: too many arguments/etc/bash_completion.d/gcc第50行
[ $USERLAND = GNU -o $UNAME = Cygwin ] && \我不知道这有什么问题?我怎样才能阻止这些警告出现在航站楼的起点。
编辑:
我按照禤浩焯的建议运行了bash -xv .bashrc,并在输出中找到了这些:
+++ '[' = GNU -o Linux = Cygwin ']'
/etc/bash_completion.d/gcc: line 50: [: too many arguments
.
.
.
+++ '[' = GNU ']'
/etc/bash_completion.d/ifupdown: line 3: [: =: unary operator expected
+++ '[' = GNU ']'
/etc/bash_completion.d/ifupdown: line 19: [: =: unary operator expected编辑: 2
bash -x /etc/bash_completion | grep -E 'UNAME|USERLAND'输出
++ UNAME=Linux
++ UNAME=Linux
++ unset UNAME RELEASE default dirnames filenames have nospace bashdefault plusdirs发布于 2014-04-29 12:56:06
在对此进行故障排除后,我非常确信/etc/bash_completion.d中的文件属于较早版本的bash-completion,因此与您安装的/etc/bash_completion版本不兼容(反之亦然)。
我建议完全卸载bash-completion
$ sudo apt-get purge bash-completion并验证之后是否没有留下任何文件:
$ find /etc/bash_completion*如果有,请手动删除它们。
之后重新安装bash-completion
$ sudo apt-get install bash-completionhttps://stackoverflow.com/questions/23363889
复制相似问题