CDPATH and shell scripts
it seems to me that the current CDPATH behaviour is verry strange and
extremly dangerous for shell scripts.
For those that have never heart of CDPATH it does 2 things:
1) a relative "cd" command with search the CDPATH for the given
directory. If unset then '.' is used.
2) it outputs the path it used to stdout.
Now say you have the following script:
: do something
FOO=$(cd bar && cat blub)
rm -rf *
Calling that with CDPATH=~ exported will 'rm -rf ~/src'. That will be
fun. It also suddenly outputs to stdout totally changing the value of
So what is the right course of action here?
1) unset CDPATH in every single shell script there is?
2) never use relartive paths for cd in scripts?
3) shoot the user for doing something dumb?
4) disable CDPATH in /bin/sh (or is that POSIX?) or non-interactive
scripts (would break automake I think)