您的位置:首页 > 运维架构 > Linux

linux如何快速切换到某目录

2014-06-27 15:24 393 查看
经常使用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
分别表示切换目录、添加目录索引、删除目录索引
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux 快速 切换目录