bash自动补全懒加载

使用懒加载优化bash启动速度

优化前

bash补全配置

# ~/.bash_profile
source .bash_completion
# ~/.bash_completion
source '/opt/homebrew/etc/profile.d/bash_completion.sh'
source '/Applications/Docker.app/Contents/Resources/etc/docker.bash-completion'
source <(helm completion bash)
source <(tkn completion bash)
source <(istioctl completion bash)
source <(gopass completion bash)
source <(k3d completion bash)
source <(goup completion bash)
source <(kubectl completion bash)
source <(kubecm completion bash)
complete -F __start_kubectl k
complete -F __start_kubecm kcm

bash 启动时间
启动时间

优化后

bash补全配置

# ~/.bash_profile
source .bash_completion
source <(_lazy_load)
# ~/.bash_completion
__lazy_load_complete_with_binary(){
for i in $@
do
echo "$i() { unset -f $i; source <($i completion bash);$i \$@; }"
done
}
__lazy_load_complete_with_alias(){
echo "alias $2=$1; $1() { unset -f $1; source <($1 completion bash);complete -F __start_$1 $2 ;$1 \$@; }"
}
__lazy_load_complete_with_file(){
echo "$1() { unset -f $1; source $2 ; $1 \$@; }"
}
_lazy_load(){
cat /opt/homebrew/etc/profile.d/bash_completion.sh
__lazy_load_complete_with_file docker '/Applications/Docker.app/Contents/Resources/etc/docker.bash-completion'
__lazy_load_complete_with_alias kubectl k
__lazy_load_complete_with_alias kubecm kcm
__lazy_load_complete_with_binary helm tkn istioctl gopass k3d goup
}

bash 启动时间

启动时间

posted @   liy36  阅读(71)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示