Hey guys, I have the same thing, but I called the command ".." (no it doesn't conflict with the directory). ".." by itself is the same as ".. 3"
.. () {
local arg=${1:-1};
while [ $arg -gt 0 ]; do
builtin cd .. &> /dev/null;
arg=$(($arg - 1));
done;
}Mine is similar, but only does one cd command - to allow better use of `cd -`
up() {
local ups="."
for((i=0;i<${1:-1};i++)); do
ups="${ups}/.."
done
builtin cd "$ups"
}"cd -" is equal to "cd $OLDPWD", so that still works with my function ;)
Though yours looks much nicer ^^"
I mapped 'cd' to 'c' in my bashrc, but while doing it I also mapped 'c' to execute 'ls' as the latter was basically muscle memory whenever I was using cd. The .bashrc function looks like this:
c() { builtin cd "$@" && ls; }