### Directory aliases # e.x. # $ hash -d hoge=/to/path # $ ls ~hoge set_hash_in_links() { local links=~/links [ ! -d "$links" ] && return 0 [ $(command ls -1 "$links" | wc -l) -eq 0 ] && return 0 local src local target for target in "$links"/*; do src=$(basename "$target") case `uname -s` in Darwin|FreeBSD) target=$(readlink -n $target) ;; *) target=$(readlink -fq $target) ;; esac [ -n "$target" ] && hash -d $src="$target" done } set_hash_in_links