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?


aliasis for aliasing commands. If you want to “alias“ arguments, use shell/environment variables.$ docs=/media/docs $ cd $docsIt is worth acknowledging that this probably seems unintuitive to a new user. Makes it look like the shell has two different aliasing systems.
It makes sense the more familiar you are with bash, though. If you ever tried to
cd /some/other/path-with-docs/in/the/stringyou’d end up accidentally runningcd /some/other/path-with-/media/docs/in/the/string.Which would be confusing at best, or a security issue at worst. Better to see that
$in the cmd and know you’re injecting a var’s value.New users should try to take a little time to read the basics, not suppose things then ask strangers in the internet.