mac终端打开报complete 13 command not found compdef异常处理以及命令补全功能实现

ops/2024/9/25 23:05:57/

mac终端报complete未找到异常

mac打开终端报如下错误

"complete:13: command not found: compdef" message when launching Terminal

问题处理,参考https://apple.stackexchange.com/questions/296477/my-command-line-says-complete13-command-not-found-compdef

1. 在~/.zshrc文件中追加如下内容


if [[ -n ${ZSH_VERSION-} ]]; thenautoload -U +X bashcompinit && bashcompinit
fi

2. 然后执行

source ~/.zshrc

3. 此时打开新的终端正常可以看到异常消失,但是若此时故障依旧,则检查.zshrc文件中是否有complete命令开头的语句,若有则去掉该语句,然后重新执行source ~/.zshrc即可

complete -o nospace -C /opt/homebrew/bin/terraform terraform

问题解析:

核查是否安装了zsh-completions,若没有则执行如下命令进行安装

brew install zsh-completions

安装完成之后根据如下提示

To activate these completions, add the following to your .zshrc:

  if type brew &>/dev/null; then

    FPATH=$(brew --prefix)/share/zsh-completions:$FPATH

    autoload -Uz compinit

    compinit

  fi

You may also need to force rebuild `zcompdump`:

  rm -f ~/.zcompdump; compinit

Additionally, if you receive "zsh compinit: insecure directories" warnings when attempting

to load these completions, you may need to run these commands:

  chmod go-w '/opt/homebrew/share'

  chmod -R go-w '/opt/homebrew/share/zsh'

执行相应操作,即在.zshrc文件中追加

if type brew &>/dev/null; then

    FPATH=$(brew --prefix)/share/zsh-completions:$FPATH

    autoload -Uz compinit

    compinit

fi

然后再次执行source ~/.zshrc,完成该操作之后再次执行提示中的其他操作,如下所示

命令补全

terraform命令补全实现

在.zshrc文件中追加如下内容即可实现terraform命令的补全操作

complete -o nospace -C /opt/homebrew/bin/terraform terraform

kubectl命令补全

参考在 macOS 系统上安装和设置 kubectl | Kubernetes

在.zshrc文件中追加如下命令即可实现kubectl的命令补全功能

source <(kubectl completion zsh)


http://www.ppmy.cn/ops/115988.html

相关文章

快速理解TCP协议(二)——TCP协议中的拥塞控制机制详解

在计算机网络中&#xff0c;TCP&#xff08;传输控制协议&#xff09;是一种广泛使用的面向连接的、可靠的、基于字节流的传输层通信协议。TCP协议通过一系列复杂的机制来确保数据的可靠传输&#xff0c;其中拥塞控制是至关重要的一环。本文将深入探讨TCP协议中的拥塞控制机制&…

keil的debug功能

文章目录 一.窗口介绍二.功能2.1 debug断点调试和窗口变量2.2 四个花括号功能2.2.1 进去函数和下一步功能2.2.2 跳过函数和跳过该行代码功能2.2.3 函数内部跳出功能2.2.4 执行到光标处 2.3 查看内部寄存器 一.窗口介绍 二.功能 2.1 debug断点调试和窗口变量 先打开下图debug断…

量子密码基本原理和必要性

量子加密 量子加密&#xff08;Quantum Encryption&#xff09;&#xff0c;或称量子密码&#xff0c;是一种基于量子力学原理的加密技术。它通过自然物理定律而非数学模型保障信息安全。与传统的加密算法不同&#xff0c;量子加密具有理论上的不可破解性&#xff0c;因为其安…

鸿蒙【项目打包】- .hap 和 .app;(测试如何安装发的hap包)(应用上架流程)

#打包成.hap需要用到真机 原因是&#xff1a;只有用上了真机才能在项目中配置 自动签名 #步骤: ##第一步:选择真机->选择项目结构->点Sigining Configs(签名配置) ##第二步:勾选Automatically generate signature(自动签名)->点击ok ##第三步:点击构建->点击 …

股指期权交易详细基础介绍

股指期权是期权市场中的一种特定类型&#xff0c;其标的资产为股票指数。简而言之&#xff0c;它允许投资者在未来某个特定时间&#xff0c;以预先约定的价格&#xff0c;买入或卖出股票指数的权利。在中国&#xff0c;已上市的股指期权包括上证50、沪深300和中证1000股指期权&…

elementFormDefault 怎么用注解指定 webservice cxf

在 Java EE (或者 Jakarta EE) 中&#xff0c;elementFormDefault 是一个用于指定 XML 元素命名空间的设置。通常在 JAXB (Java Architecture for XML Binding) 中使用&#xff0c;elementFormDefault 可以用于定义包内所有元素的命名空间的使用方式。这一设置是在 XmlSchema 注…

使用 Flask-Limiter 和 Nginx 实现接口访问次数限制

在现代 Web 应用中&#xff0c;针对敏感接口&#xff08;如短信验证码、登录接口等&#xff09;的访问次数限制至关重要。通过设置合理的限流策略&#xff0c;可以有效防止接口滥用&#xff0c;避免过多的资源消耗&#xff0c;并提升安全性。本文将通过 Nginx 和 Flask-Limiter…

Linux相关概念和重要知识点(5)(权限的修改、时间属性)

1.权限的修改 &#xff08;1&#xff09;提权行为 普通用户是会受到权限的限制&#xff0c;但root账户无视一切权限限制&#xff0c;因此当我们要获取更高的权限&#xff0c;有一种办法就是将自己变成root或者短暂拥有和root一样的权力。 普通用户 -> root &#xff1a;s…