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?

  • teawrecks@sopuli.xyz
    link
    fedilink
    arrow-up
    7
    ·
    13 hours ago

    It 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/string you’d end up accidentally running cd /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.