【我叕有一个大胆的想法】这次是真的解决了忘记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-11-23增量更新怎么做?-icode9专业技术文章分享
- 2024-11-23压缩包加密方案有哪些?-icode9专业技术文章分享
- 2024-11-23用shell怎么写一个开机时自动同步远程仓库的代码?-icode9专业技术文章分享
- 2024-11-23webman可以同步自己的仓库吗?-icode9专业技术文章分享
- 2024-11-23在 Webman 中怎么判断是否有某命令进程正在运行?-icode9专业技术文章分享
- 2024-11-23如何重置new Swiper?-icode9专业技术文章分享
- 2024-11-23oss直传有什么好处?-icode9专业技术文章分享
- 2024-11-23如何将oss直传封装成一个组件在其他页面调用时都可以使用?-icode9专业技术文章分享
- 2024-11-23怎么使用laravel 11在代码里获取路由列表?-icode9专业技术文章分享
- 2024-11-22怎么实现ansible playbook 备份代码中命名包含时间戳功能?-icode9专业技术文章分享