This is probably a very simple thing but I can’t find an answer, possibly because I don’t know what terms to use in search.

How do I use an alias of a path with mv or cp? Or even cd?

In /etc/bash.bashrc I have: alias docs=‘/media/docs

cd docs Gives “No such file or directory”

Yet: docs Gives “Is directory”

With alias docs=‘cd /media/docs’ and by typing docs I get into the directory. Obviously I can’t use that alias with mv or cp though.

Maybe this isn’t even an intended use of alias but still. Why doesn’t it work?

you are viewing a single comment's thread
view the rest of the comments
[–] 6 points 5 months ago (2 children)

You should be using a variable not an alias.

Variables in bash have a few sharp edges; one of which is that spaces act as a delimiter and turn the variable into a list.

The other being that sometimes escaping and unescaping the contents of a variable can be stupidly tricky. This is why a lot of people who use bash do not like spaces in directory or file names.

  • source
  • hideshow 2 child comments
  • [–] [S] 1 point 5 months ago (1 child)

    Thanks for the tip, but escaping and unescaping sounds tedious, since I use spaces in both directory and file names.

    What I like about aliases here is that I have one central location to set them up and change them. If I ever were to forget what aliases I have it's just about opening the file and looking.

  • source
  • parent
  • hideshow 1 child comment