You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Bash脚本实现本地Neovim版本校验与旧版本卸载问题求助

问题修复:PopOS 22.04下Neovim版本检查与卸载脚本

原脚本存在的问题

  • 未安装Neovim时,仍会执行nvim --version命令,导致抛出nvim: command not found错误
  • has_nvim变量赋值逻辑错误:command -v nvim >/dev/null的返回值是退出码,而非输出内容,直接存变量后判断逻辑失效
  • 版本对比逻辑颠倒:原脚本中版本≥0.9时执行卸载,与需求(版本过低才卸载)相反
  • 版本提取不严谨:[0-9]\.[0-9]只能匹配两位版本号,无法处理如0.10这类多位数的版本

修正后的脚本

#!/bin/bash
# 检查Neovim是否安装
if command -v nvim >/dev/null 2>&1; then
    # 获取完整主版本号(如0.9.4提取为0.9)
    nvim_version=$(nvim --version | head -1 | grep -oP '^NVIM v\K\d+\.\d+')
    # 对比版本,若低于0.9则卸载
    if (( $(echo "$nvim_version < 0.9" | bc -l) )); then
        echo "Neovim版本过低(当前版本:$nvim_version),开始卸载..."
        sudo apt remove neovim -y
    else
        echo "Neovim版本符合要求(当前版本:$nvim_version)"
    fi
else
    echo "Neovim未安装"
fi

关键修复点说明

  • 直接用command -v nvim >/dev/null 2>&1作为if条件,避免未安装时执行nvim --version
  • 改用grep -oP的正向零宽断言提取版本号,确保准确获取主版本部分
  • 调整版本对比逻辑,用$nvim_version < 0.9判断是否需要卸载,符合需求
  • 输出信息补充当前版本,提升可读性

内容的提问来源于stack exchange,提问作者Amoz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 11:55:46