O shell bash tem uma variável shell CDPATH que ajuda você a fazer isso sem um alias:
$ CDPATH=".:/var/www/site"
$ cd app
/var/www/site/app
Se houver um subdiretório de app chamado doc :
$ cd app/doc
/var/www/site/app/doc
Com um valor CDPATH de .:/var/www/site , o comando cd primeiro procurará no diretório atual o caminho do diretório fornecido na linha de comando e, se nenhum for encontrado, ele aparecerá em /var/www/site . / p>
Do manual bash :
CDPATHThe search path for the
cdcommand. This is a colon-separated list of directories in which the shell looks for destination directories specified by thecdcommand. A sample value is".:~:/usr".
Observe que CDPATH não deve ser exportado, pois você geralmente não deseja que essa variável afete bash scripts executados a partir de sua sessão interativa.