03 May 2013 in Tech

CDPATH is an environment variable that changes how the cd command works. Normally when you try and cd
into a directory, it will only try and change to the path specified from the current directory. If you spend a
lot of time working in specific folders, it might be useful to assume that your search path for cd starts from one of those folders.

For example, I spend a lot of time working in /var/www. Instead of typing cd /var/www/ all the time, I want to be able to
just type cd and have it know what I mean. Here's how to set that up:

export CDPATH=.:~:/var/www

Now, you can just type cd and it will look for ./ then /var/www/, stopping whenever it finds a match
or runs out of search locations.

You can have as many base search paths as you like. Here's one that includes /etc as a search path too.

export CDPATH=.:~:/var/www:/etc
vagrant@precise64:~$ pwd
vagrant@precise64:~$ cd
vagrant@precise64:/var/www/$ cd mysql
vagrant@precise64:/etc/mysql$ cd Downloads