export PATH=$PATH:/opt/ytools/bin ytools_log() { echo $@ } ytools_log_err() { echo $@ >&2 } ytools_source_config() { local o_verbose="" set -- `getopt 'v' $*` while [ "$1" != -- ]; do case $1 in -v) o_verbose=true;; *) ytools_log_err unknown option $1 exit 1;; esac shift done shift [ ! -r "$1" ] && return [ "$o_verbose" ] && ytools_log o reading config "<$1>" . $1 } ytools_source_configs() { local c local basename=${myname/.*/} local rc="$basename"rc local project=ytools local o_verbose="" set -- `getopt 'v' $*` while [ "$1" != -- ]; do case $1 in -v) o_verbose=true;; *) ytools_log_err unknown option $1 exit 1;; esac shift done shift config_files=" /etc/opt/$project/$basename.conf $HOME/.$project/$basename.conf $HOME/.$project/$rc $HOME/.$basename/$basename.conf $HOME/.$basename/$rc $HOME/.$rc " for c in $config_files; do ytools_source_config $c if [ -d $c.d ]; then local dirconfs=`find $c.d -maxdepth 1 -type f` local f for f in $dirconfs; do ytools_source_config $f done fi done }