en tu bashrc configura esto:
PROMPT_COMMAND='[[ $PWD == "/foo/bar/" ]] && export FOO=BAR || unset FOO'
El contenido de la variable PROMPT_COMMAND se ejecutará cada vez que se reescriba su solicitud (justo antes de que se escriba realmente). El comando anterior verifica la variable $PWD (que contiene el directorio de trabajo actual de su shell) contra "/foo/bar" si coincide, exporta su variable si no lo hace, entonces la variable no está configurada.
EG
example@unixlinux.online$ PROMPT_COMMAND='[[ $PWD == "/home/peteches/test" ]] && export FOO=BAR || unset FOO'
example@unixlinux.online$ pwd
/home/peteches
example@unixlinux.online$ cd test
example@unixlinux.online$ pwd
/home/peteches/test
example@unixlinux.online$ env | grep FOO
6:FOO=BAR
73:PROMPT_COMMAND=[[ $PWD == "/home/peteches/test" ]] && export FOO=BAR || unset FOO
example@unixlinux.online$ cd ../
example@unixlinux.online$ pwd
/home/peteches
example@unixlinux.online$ env | grep FOO
72:PROMPT_COMMAND=[[ $PWD == "/home/peteches/test" ]] && export FOO=BAR || unset FOO
example@unixlinux.online$
Si no le importa usar una solución alternativa, agréguela a su .bash_profile
mycd()
{
cd $1
if [ "$(pwd)" == "/your/folder/that/needs/env" ]; then
export RAILS_ENV=development
else
export RAILS_ENV=
fi;
}
alias cd=mycd
Cada vez que te muevas a una carpeta determinada, esto establecerá tu variable env o lo que quieras
Primero, AFAIK, bash no buscará un .bashrc archivo en cualquier otro directorio que no sea su hogar, al menos, no de forma predeterminada.
En segundo lugar, después de escribir nuevas entradas en su .bashrc , deberías source .bashrc el archivo, para que se produzcan modificaciones.