#!/bin/bash d=`pwd 2>/dev/null || echo $PWD` here=$d while [[ ! -f "$d"/.bashcd && "$d" != "/" ]]; do d=`dirname "$d"` done [[ -z "$NED_DEBUG" ]] || echo "${0}: ARGS: $*" >&2 if [[ -f "$d"/.bashcd && -r "$d"/.bashcd ]]; then if [[ "$d" != "$PWD" ]]; then # we need to move to the ancestor directory holding .bashrc # save output/error streams [[ -z "$NED_DEBUG" ]] && exec 3>&1 4>&2 [[ -z "$NED_DEBUG" ]] && exec 1>/dev/null 2>&1 [[ -z "$NED_DEBUG" ]] || echo "${0}: pushd $d" >&2 pushd "$d" [[ -z "$NED_DEBUG" ]] || echo "${0}: [${PWD}] . "$d"/.bashcd" >&2 . "$d"/.bashcd export NED_CALLED="${NED_CALLED} ${0}: $here -> $d/.bashcd" [[ -z "$NED_DEBUG" ]] || echo "${0}: [${PWD}] calling popd" >&2 popd [[ -z "$NED_DEBUG" ]] || echo "${0}: [${PWD}]" >&2 # reinstate output/error streams [[ -z "$NED_DEBUG" ]] && exec 1>&3 2>&4 else # we are in a directory holding .bashrc # save output/error streams [[ -z "$NED_DEBUG" ]] && exec 3>&1 4>&2 [[ -z "$NED_DEBUG" ]] && exec 1>/dev/null 2>&1 [[ -z "$NED_DEBUG" ]] || echo "${0}: [${PWD}] . "$d"/.bashcd" >&2 . "$d"/.bashcd # reinstate output/error streams [[ -z "$NED_DEBUG" ]] && exec 1>&3 2>&4 fi fi [[ -z "$NEDIT_COLORS" ]] && export NEDIT_COLORS='darkblue' . $HOME/.ned