【我叕有一个大胆的想法】这次是真的解决了忘记source指定bashrc的问题了
2021/6/19 0:04:49
本文主要是介绍【我叕有一个大胆的想法】这次是真的解决了忘记source指定bashrc的问题了,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
前言
【我又有一个大胆的想法】是时候彻底解决 忘记source指定bashrc导致一系列后果 的严重问题
之前这个博文里,到最后的时候遗留了一个问题:
我发现确实是我查的不够深入,今天我知道了:
原来我可以用builtin cd来完成对cd的重载啊!
最终代码
alias sba="source ~/.bashrc" ##自动source project.bashrc org=`pwd` while true do if [ `pwd` = $HONE ]; then break elif [ -d "project" -a -d "rtl" ]; then source ./project/project.bashrc break fi elif [ $cwd = "/root/gaojiaming" ]; then #这里是做保护的,根据实际写就行 break else builtin cd ../ fi done builtin cd $org ##当cd跳转超出规定的范围时,就自动source cd(){ p_org=`pwd` bulitin cd $1 p_cwd=`pwd` org_root=`expr $p_org : '\(.*asic\)'` cwd_root=`expr $p_cwd : '\(.*asic\)'` if [ $org_root != $cwd_root ]; then source ~/.bashrc fi }
好了,只要把这段代码放到~/.bashrc里就万事大吉了。
代码解析
这段代码应对的就是下面这种典型的工程组织结构,假如我要从trunk/asic/rtl/...的路径跳转到tags/XXX_TAG/rtl/,,,去搞一些事情,那么我当然不希望我搞了一天发现由于没有source对应的project.bashrc导致吃的都是trunk下的文件,最后啪啪打脸。
因此,当我进行cd跳转时,cd应该帮我检查一下前后两个路径是不是已经跨越了“asic”边界;
大概齐就是这个样子,最后再吐槽一句,shell的语法真是太难了,学不会学不会
这篇关于【我叕有一个大胆的想法】这次是真的解决了忘记source指定bashrc的问题了的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-06-29易优CMS安装常见问题汇总-icode9专业技术文章分享
- 2024-06-28易优新手必读安装教程-icode9专业技术文章分享
- 2024-06-28忘记eyoucms后台密码怎么办?-icode9专业技术文章分享
- 2024-06-26终极指南:Scrum中如何设置需求优先级
- 2024-06-26AI大模型企业应用实战(25)-为Langchain Agent添加记忆功能
- 2024-06-26小白家庭 nas 搭建方案-icode9专业技术文章分享
- 2024-06-23AI大模型企业应用实战(14)-langchain的Embedding
- 2024-06-23AI大模型企业应用实战(15)-langchain核心组件
- 2024-06-23AI大模型企业应用实战(16)-langchain核心组件
- 2024-06-23AI 大模型企业应用实战(06)-初识LangChain