---
date: "2003-11-06T19:20:55Z"
title: cdup Fun!
---

<p>
<a href='http://www.richlowe.net/'>Richard (richlowe)</a> and a few other people from <code>#fu</code> were talking about being able to do things like <kbd>cdup 5</kbd> to jump up 5 directories.  I thought it would be nicer if my existing <kbd>..</kbd> alias took an optional argument to do the same thing.  Here's the result (for bash):
</p>

<p>
<pre>
function cdup() {
  if [ "x$1" = "x" ]; then max=1; else max=$1; fi
  for ((i=0; i&lt;$max; i++)); do cd ..; done 
}

alias ..="cdup";
</pre>
</p>

<p>
So <kbd>..</kbd> works the same as it did before, but now you can do stuff like this:
</p>

<p>
<pre>
pabs@vault:/usr/local/share/raggle/themes&gt; ..
pabs@vault:/usr/local/share/raggle&gt; .. 2
pabs@vault:/usr/local&gt; 
</pre>
</p>

<p>
<a href='http://www.richlowe.net/cdup.zsh'>Richard's version</a> does the same thing for <a href='http://www.zsh.org/'>zsh</a>.
</p>