I have been trying to figure out how a shell knows which directory you're currently in. I know there is an environment variable $PWD
but when I try changing it manually, it changes what my shell shows at the prompt but commands like ls
and cd
are unaffected.
cd
is an internal shell command so I can understand it might use info stored within the shell memory, but ls
is external and yet running ls
without anything will give me whatever directory I was originally in regardless what I do to $PWD
.