concerning the PATH
atmosphere variable. Do you know about CDPATH
? For those who’ve been typing lengthy cd
instructions like me, this submit is for you.
I got here throughout this gem this morning, whereas studying Daniel Barrett’s new guide Environment friendly Linux on the Command Line. It instructs the cd
command to seek for the listing you specify in areas apart from your present listing.
A cd
search path works like your command search path $PATH
. Nonetheless, as an alternative of discovering instructions, it finds the subdirectories. You possibly can configure it with the shell variable CDPATH
, and it has the identical format because the PATH
variable: an inventory of directories separated by colons.
Set this variable in your ~/.zshconfig
or ~/.bashrc
file to incorporate the directories you go to most steadily.
export CDPATH=$HOME:$HOME/software program:$HOME/software program/ruby:$HOME/software program/rails:$HOME/software program/youtube
Now, everytime you wish to cd
right into a listing, the shell will look by all of the above locations along with the present listing.
What’s extra, the search is lightning quick. It seems to be solely in mum or dad directories that you simply specify and nothing else.
For instance, as an example you have got a $HOME/software program/weblog
listing and you’ve got configured the CDPATH
to incorporate the $HOME/software program
listing.
Now, in case you kind cd weblog
from wherever within the filesystem, the cd
command will take you to the $HOME/software program/weblog
listing, until it finds one other weblog
listing in one other pre-configured path. So the order of CDPATH
issues. If two directories in $CDPATH
have a subdirectory named weblog
, the sooner mum or dad wins.
Within the above instance, cd
will verify the existence of the next directories so as, till it finds one or it fails.
- within the present listing
$HOME/software program/weblog
$HOME/software program/ruby/weblog
$HOME/software program/rails/weblog
$HOME/software program/youtube/weblog
To summarize,
Set
CDPATH
along with your most essential or steadily used mum or dad directories, and you may instantlycd
into them or their subdirectories regardless of the place you might be within the file system. You do not have to kind the complete path anymore.
Belief me, that is fairly freaking cool. It has modified the best way I exploit the shell.