经常使用cd命令切换目录,虽有 cd -,历史目录pop push等操作,终究不直观。直接上代码及部署:
i=1 HERE=`pwd` VALID_HERE=${HERE//\//\\\/} ALREADY_EXIST=`grep ^${HERE}$ $1` declare -a godirs while true; do [[ $2 = "a" ]] && [[ x${ALREADY_EXIST} = "x" ]] && sed -i "/^EOF/i\\${HERE}" $1 [[ $2 = "a" ]] && break [[ $2 = "d" ]] && [[ x${ALREADY_EXIST} != "x" ]] && sed -i "/^${VALID_HERE}$/d" $1 [[ $2 = "d" ]] && break while true ; do read line if [ $? -ne 0 ] ; then break fi [[ -d $line ]] || continue echo -e "\033[`expr 35 + $i % 3`m" $i: $line godirs[$i]=$line let i=$i+1 done <<-EOF /usr/local EOF # ===== end of here-document ===== echo -e "\033[0m" echo -n ‘where to go? ‘ read -n1 -t30 n echo [[ x${godirs[${n}]} != "x" ]] && cd ${godirs[${n}]} break done
将此文件放到某目录下,比如 /path/ff
在~/.bashrc中添加一行
alias ff=‘. /path/ff path/ff‘
退出重登录即可用。
使用方法如下:
# ff # ff a # ff d
分别表示切换目录、添加目录索引、删除目录索引
本文出自 “架构爱好者--成长” 博客,请务必保留此出处http://39372240.blog.51cto.com/2734479/1431628
linux如何快速切换到某目录,布布扣,bubuko.com
原文地址:http://39372240.blog.51cto.com/2734479/1431628