ubuntu添加自定义功能 实现cd ../../../之类的操作

每次cd ../../../../感觉好累,网上搜了一下,自己动手写了一个功能。

首先,写一个脚本文件放在~/bin目录下(当然这个路径是可以自定义的),命名为cdbackto(当然文件名也可以自定义),内容如下:

#!/bin/bash
################################################################################
#@Authro ficksong@gmail.com
#@Date 2017-02-23
#cd back forward to desc,for example:cdb 2,for cd ../../ 
################################################################################
# 检查输入参数是否为空
function checkNull(){
  FNUM=$1
  if [ -z $FNUM'' ]
    then
      echo 'arg can not be null.'
      echo 'usage:cdb 3		cd ../../../'
      exit 1 
  fi
}
# 检查输入参数是否为整数
function checkInt(){
  FNUM=$1
  tmp=`echo $FNUM | sed 's/[0-9]//g'`
  if [ -n ${tmp}'' ]
    then
      echo 'args:'$FNUM' not a number.'
      echo 'usage:cdb 3         cd ../../../'
      exit 1
  fi
  if [ $FNUM -le 0 ]
    then
      echo 'FNUM must greater than 0'
      echo 'usage:cdb 3         cd ../../../'
      exit 1
  fi
}

function cdb(){
  FNUM=$1
  checkNull $FNUM
  checkInt $FNUM
  TOPATH=''
  for i in `seq 1 $FNUM`
    do
      TOPATH=$TOPATH'../'
  done
  cd $TOPATH
}

文件保存后,再在.bash_profile文件(我的是mac,其他linux系统文件名可能不一样)里加载这个文件,在文件末添加以下内容(文件路径及文件名请根据自己实现时的真实情况进行修改):

if [ -r '/Users/songfei/bin/cdbackto' ]
  then
    . /Users/songfei/bin/cdbackto
fi

然后执行source ~/.bash_profile   或者重新登录,就生效了。


可以执行以下命令实现向前3个目录

cdb 3        相当于执行cd ../../../

➜  workspace_work pwd
/Users/songfei/Documents/workspace_work
➜  workspace_work cdb 3
➜  /Users 

看到了吧。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值