trap "pwd" 0 # key bind definition bind q "pwd>~/.fd/fd_exitdir;exit 0;" bind Q QUIT_SYSTEM bind 0 "log_mydir 0 %K" bind 6 "log_mydir 6 %K" bind 7 "log_mydir 7 %K" bind 8 "log_mydir 8 %K" bind 9 "log_mydir 9 %K" bind o "pushd %P > /dev/null;LOG_DIR %K" bind z "popd %K > /dev/null" bind RET LAUNCH_FILE "pushd %P > /dev/null;IN_DIR %K" bind BS "pushd %P > /dev/null;OUT_DIR %K" bind O get_mydir get_mydir() { echo -n "6:"; if [ -r ~/.fd/fd_userdir6 ]; then echo `cat ~/.fd/fd_userdir6`; else echo "Not assigned."; fi echo -n "7:"; if [ -r ~/.fd/fd_userdir7 ]; then echo `cat ~/.fd/fd_userdir7`; else echo "Not assigned."; fi echo -n "8:"; if [ -r ~/.fd/fd_userdir8 ]; then echo `cat ~/.fd/fd_userdir8`; else echo "Not assigned."; fi echo -n "9:"; if [ -r ~/.fd/fd_userdir9 ]; then echo `cat ~/.fd/fd_userdir9`; else echo "Not assigned."; fi echo -n "0:"; if [ -r ~/.fd/fd_userdir0 ]; then echo `cat ~/.fd/fd_userdir0`; else echo "Not assigned."; fi echo -n " No?"; read NUM; if [ "$NUM" != "6" ] && [ "$NUM" != "7" ] && [ "$NUM" != "8" ] && [ "$NUM" != "9" ] && [ "$NUM" != "0" ]; then echo "Canceled."; else pwd>~/.fd/fd_userdir$NUM; echo "OK"; fi } log_mydir() { if [ -r ~/.fd/fd_userdir$1 ]; then MYDIR=`cat ~/.fd/fd_userdir$1`; if [ -d $MYDIR ]; then pushd `pwd` > /dev/null; LOG_DIR $MYDIR; fi fi }