cd-mod.sh

# source /path/to/cd-mod.sh

UP_PWD=$PWD;

back() {
    if [ $UP_PWD == $PWD ]; then
        cd -;
    else
        echo $UP_PWD;
        cd $UP_PWD;
    fi

    return $?;
}

up() {
    CHECK=$1;
    UP_PWD=$PWD;

    echo $PWD;

    [ -z $C ] && CHECK="lib";

    for e in `echo $PWD | sed 's/\// /g' | rev`; do
        e=`echo $e|rev`;
        cd ..;
        [ $CHECK == $e ] && break;
    done

    OLDPWD=$UP_PWD;

    echo $PWD;

    return 0;
}