Using drush @self alias returns nothing According to the documentation for drush (version 5.9) it has a built in alias called @self. 

When I attempt to use the @self alias in a command such as:

drush site-alias @self


Nothing is returned. However, using aliases I've defined in my aliases.drushrc.php the commands work as expected.

Does anyone have any ideas as to what might be going on?
In order to use the @self alias, Drush must be able to detect and bootstrap your Drupal site based on the current working directory.  If your settings.php file is in the 'default' directory, then you may cd to your Drupal root directory, or any directory below it, and @self will work.  If your settings.php is in some other directory, then you must either cd to the directory that the settings.php file is in, or provide a --uri option to Drush.

You can also use @self without changing your working directory if you supply --root and --uri options to Drush.