shell脚本自动切换目录

1 篇文章 0 订阅

        背景:cmake创建build目录,在编译的时候需要进入某个特定的build下的子目录中,进行make。当目录层级较深时,显得很累。

        打个比方:工程目录是/root/server/test/cc_svr/uc_client_next    那么对应的build目录就是:/root/server/test/build/cc_svr/uc_client_next 

        本着懒惰是第一生产力的优秀原则,今天搞个脚本,不用每次都用好几秒钟进入对应目录。翠花,上酸菜。

#!/bin/bash

###########################################
# 往返跳转 build目录和非build目录
###########################################




dir=$(pwd)
echo $dir

array=(${dir })
has_build=0 # 是否有build目录
for var in ${array[@]}
do
   #echo $var
    if [[ $var == "build" ]]; 
    then
        has_build=1
    fi  
done

new_dir="" # 构建新目录
idx=0 # 因为存放在三级目录下,如果修改目录曾经,需要修改这个值
for var in ${array[@]}
do 
    if [[ $idx == 3 ]]; 
    then
        if [[ $has_build == 1 ]]; 
        then
            idx=`expr $idx + 1`
            continue
        fi
        new_dir=$new_dir"/build"
    fi  
    new_dir=$new_dir"/"$var
    idx=`expr $idx + 1`
    #echo $new_dir
    #echo $idx
done
echo $new_dir
cd $new_dir

打开 ~/.bashrc,加入 alias cdb='source 脚本目录及脚本名'

然后  source ~/.bashrc

就可以使用cdb进入目录了,完美

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值