X-Git-Url: https://fleuret.org/cgi-bin/gitweb/gitweb.cgi?a=blobdiff_plain;f=bash-selector.sh;h=38991b13047c79be9ec624fa908d99574b22feec;hb=c896399b218eb92e2cfd9926949438e47427421d;hp=fbb5aa64041713c6e89e9bcd15cbbc2ee1fbf6db;hpb=af6347e4968f1b68bd2a5cdfaf47ef6ecb156ff3;p=selector.git diff --git a/bash-selector.sh b/bash-selector.sh index fbb5aa6..38991b1 100755 --- a/bash-selector.sh +++ b/bash-selector.sh @@ -73,13 +73,17 @@ function selector-cd () { } function selector-cd-search () { - PATH_TEMP=$(mktemp /tmp/selector-cd-path.XXXXXX) - selector -j -y -u -t "cd" -l 1000 -d -i -c 7,2,0,3 -o ${PATH_TEMP} -q ${SELECTOR_CD_HISTORY} - NEW_PATH="$(cat ${PATH_TEMP} | sed -e 's!~!'${HOME}'!')" - if [[ -s "${NEW_PATH}" ]]; then - selector-cd "$(cat ${PATH_TEMP} | sed -e 's!^~!'${HOME}'!')" + if [[ -f ${SELECTOR_CD_HISTORY} ]]; then + PATH_TEMP=$(mktemp /tmp/selector-cd-path.XXXXXX) + selector -j -y -u -t "cd" -l 1000 -d -i -c 7,2,0,3 -o ${PATH_TEMP} -q ${SELECTOR_CD_HISTORY} + NEW_PATH="$(cat ${PATH_TEMP} | sed -e 's!~!'${HOME}'!')" + if [[ -d "${NEW_PATH}" ]]; then + selector-cd "$(cat ${PATH_TEMP} | sed -e 's!^~!'${HOME}'!')" + fi + \rm ${PATH_TEMP} + else + echo "No cd history file ${SELECTOR_CD_HISTORY}." >&2 fi - \rm ${PATH_TEMP} } alias cd=selector-cd