It fully supports nesting of scripts across the whole filesystem hierarchy traveling appropiately "down" and "up" running any relevant scripts it finds. If you cd from /foo/bar/baz to /foo/quux/biff, the following scripts are run in this order: 1) bash_leave for /foo/bar/baz 2) bash_leave for /foo/bar 3) bash_enter for /foo/quux 4) bash_enter for /foo/quux/biff