Are you "frequently switching between directories that are in totally unrelated paths"?! Then PEVs (Personal Environment Variables) are specially for you.
Of course pevs are not specific to keeping paths, they might be used for any other purposes as well where quick access to frequently needed values is a need. In fact, pev variables are no different from other environment variables, they're just probably easier to manage.
Let's add a pev variable first:
$ pev add longpath '/A/very/very/long/path/I/frequently/need'
# output:
# environment variable "pev_longpath" added successfully. "pev show" to see the list of pev variables.
Now let's see a list of pev variables defined so far:
$ pev show
# output:
| NAMES VALUES
| ---------- ----------
| pev_longpath "/A/very/very/long/path/I/frequently/need"
##notice##: to add, remove or edit a pev variable, you have to use its name without preciding "pev_". for example, to remove the pev variable we just defined in above example, write this: pev remove longpath
, and NOT this: . the "pev_" prefix is only added for avoiding collisions with other normal environment variables.pev remove pev_longpath
To only print the value of a pev variable easily write:
$ pev longpath
# output:
# /A/very/very/long/path/I/frequently/need
Now let's change directory to that long path, it could be either done using command substitution or the complete pev variable's name preceded by the dollar sign:
$ cd $(pev longpath)
# OR alternatively:
$ cd $pev_longpath
# there's no difference between them, use whichever you're happier with!
Obviously the command you use your pev variable in, does not necessarily need to be a "cd" command, it can be any other commands as well.
$ cp somefile $pev_longpath
Or you can go deeper too:
$ cp somefile $pev_longpath/and/deeper/than/that
assuming you put the "pev" file in your foo
directory you should add this to your ~/.bashrc:
source ~/.pev
source /path/too/foo/pev
pev <NAME>:
echoes the value of the Personal Environment Variable named <NAME>
pev add <NAME> <VALUE>:
Adds a Personal Environment Variable
pev remove <NAME>:
Removes a Personal Environment Variable
pev show:
Shows a list of Personal Environment Variables
pev edit <NAME> <NEW-VALUE>:
Change the value of a predefined pev variable to a <NEW-VALUE>
pev edit:
Edit the list of Personal Environment Variables manually(NOT RECOMMENDED)