bash tab 补全报错 bash: syntax error near unexpected token `(‘

使用 vim 编辑文件时,敲下 vim xxx 后,再键入 tab 键报进行补全报错 bash: syntax error near unexpected token `('.

打开 bash 的命令执行详情

set -v

定位到具体的代码:

显然,代码位于 bash 补全的逻辑当中。

定位代码具体的文件和行号位置:

单独执行报错的代码

xspec=*.@([ao]|so|so.!(conf|*/*)|[rs]pm|gif|jp?(e)g|mp3|mp?(e)g|avi|asf|ogg|class)

报错 bash: !: event not found ,等等,原来是

!(conf|*/*)

这一部分被解析成了历史展开的事件指示器,可是明明是个 extglob 的结构。

查看 extglob 是否开启:

shopt -p | grep extglob

发现未开启,那么开启 extglob

shopt -s extglob

再次执行 vim xxx 然后 tab 补全,一切正常。

继续排查根源是 .bashrc 当中执行的某个初始化脚本当中,执行 `shopt -u extglob` 屏蔽了相关功能,调整过来即可。

相关推荐

  1. kubectl 命令自动

    2024-05-13 07:42:04       32 阅读
  2. 【bash自动原理】

    2024-05-13 07:42:04       13 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-05-13 07:42:04       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-05-13 07:42:04       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-05-13 07:42:04       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-05-13 07:42:04       18 阅读

热门阅读

  1. Unity3D安装图文详细步骤

    2024-05-13 07:42:04       10 阅读
  2. 第十三届蓝桥杯国赛

    2024-05-13 07:42:04       10 阅读
  3. OpenCV 光流法总结

    2024-05-13 07:42:04       7 阅读
  4. boto3库调用AWS大模型的封装类

    2024-05-13 07:42:04       11 阅读
  5. 排序算法 下

    2024-05-13 07:42:04       13 阅读
  6. Vue简介

    2024-05-13 07:42:04       12 阅读
  7. Yarn使用

    2024-05-13 07:42:04       9 阅读
  8. TensorFlow基于anaconda3快速构建

    2024-05-13 07:42:04       9 阅读
  9. redis面试

    2024-05-13 07:42:04       9 阅读
  10. MySQL数据库基础功能

    2024-05-13 07:42:04       8 阅读