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

Ubuntu 16.04下如何启用cabal-install的bash自动补全?

解决cabal-install 2.1.0.0在Ubuntu 16.04上的bash自动补全问题

针对你遇到的情况,我整理了一套可行的操作步骤,帮你启用bash自动补全:

步骤1:安装系统级bash补全依赖

首先确保Ubuntu系统已经安装了bash-completion工具包,打开终端执行:

sudo apt-get update && sudo apt-get install bash-completion

步骤2:生成并安装cabal补全脚本

cabal-install 2.x版本支持直接生成bash补全脚本,执行以下命令将脚本保存到系统级补全目录(所有用户生效):

sudo sh -c 'cabal --bash-completion-script cabal > /etc/bash_completion.d/cabal'

如果你只需要当前用户生效,可以保存到用户目录下的补全文件夹:

mkdir -p ~/.bash_completion.d
cabal --bash-completion-script cabal > ~/.bash_completion.d/cabal

然后编辑你的~/.bashrc文件,添加一行确保用户目录下的补全脚本被加载:

echo 'for file in ~/.bash_completion.d/*; do [ -f "$file" ] && source "$file"; done' >> ~/.bashrc

步骤3:生效并测试

执行以下命令让配置立即生效:

source ~/.bashrc

现在测试一下:输入cabal后按Tab键,应该能看到可用的子命令(比如build、install、update等)自动补全了。

备选方案(如果上述方法失效)

如果因为版本兼容性问题,--bash-completion-script参数无效,你可以手动创建补全脚本:

  1. 新建文件~/.bash_completion.d/cabal
  2. 将以下内容粘贴进去:
_cabal()
{
    local cur prev opts
    COMPREPLY=()
    cur="${COMP_WORDS[COMP_CWORD]}"
    prev="${COMP_WORDS[COMP_CWORD-1]}"

    opts="build configure copy delete exec fetch freeze get-haddock get-tests haddock help hackage init install list new-build new-configure new-freeze new-install new-repl new-run new-test new-update repl run sdist test update upload user-config verify"

    case "${prev}" in
        build|configure|copy|delete|exec|fetch|freeze|get-haddock|get-tests|haddock|help|hackage|init|install|list|new-build|new-configure|new-freeze|new-install|new-repl|new-run|new-test|new-update|repl|run|sdist|test|update|upload|user-config|verify)
            COMPREPLY=($(compgen -W "$(cabal help ${prev} | grep -E '^  [a-z-]+' | awk '{print $1}')" -- ${cur}))
            return 0
            ;;
        *)
            COMPREPLY=($(compgen -W "${opts}" -- ${cur}))
            return 0
            ;;
    esac
}
complete -F _cabal cabal
  1. 保存后执行source ~/.bashrc生效,再测试补全功能。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 07:39:01