自定义linux标签实现快速切换目录

每天在命令行下,一大部分的工作都是一遍又一遍的输入/usr/lib/python2.7/dist-packages这样来切换目录,现在利用一个简单的配置可以实现如下效果:

root@controller230:/usr/lib/python2.7/dist-packages# cd ~root@controller230:~# root@controller230:~# cd /usr/lib/python2.7/dist-packagesroot@controller230:/usr/lib/python2.7/dist-packages# mark distroot@controller230:/usr/lib/python2.7/dist-packages# cd ~root@controller230:~# g distroot@controller230:/usr/lib/python2.7/dist-packages# gsdist -> /usr/lib/python2.7/dist-packagesroot@controller230:/usr/lib/python2.7/dist-packages# 

实现原理:

在/etc/profile末尾增加以下内容后保存:

# markexport MARKPATH=$HOME/.marksexport MARKDEFAULT=tagfunction g {    local m=$1    if [ "$m" = "" ]; then m=$MARKDEFAULT; fi    cd -P "$MARKPATH/$m" 2>/dev/null || echo "No such mark: $m"}function mark {    mkdir -p "$MARKPATH"    local m=$1    if [ "$m" = "" ]; then m=$MARKDEFAULT; fi    rm -f "$MARKPATH/$m"    ln -s "$(pwd)" "$MARKPATH/$m"}function unmark {    local m=$1    if [ "$m" = "" ]; then m=$MARKDEFAULT; fi    rm -f "$MARKPATH/$m"}function gs {   ls -l "$MARKPATH" | grep ^l | cut -d ' ' -f 10-}_completemarks() {    local curw=${COMP_WORDS[COMP_CWORD]}    local wordlist=$(ls -l "$MARKPATH" | grep ^l | cut -d ' ' -f 10)    COMPREPLY=($(compgen -W '${wordlist[@]}' -- "$curw"))    return 0}complete -F _completemarks g unmark

以上脚本在Ubuntu下测试通过。其他系统中可能ls -l的输出会不太一样。

旅游,放松心情,用眼睛享受风景。

自定义linux标签实现快速切换目录

相关文章:

你感兴趣的文章:

标签云: