projects
/
selector.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
31dcd13
)
Cosmetics + a bit of paranoia regarding the created files.
author
Francois Fleuret
<francois@fleuret.org>
Sat, 18 Oct 2014 10:25:31 +0000
(12:25 +0200)
committer
Francois Fleuret
<francois@fleuret.org>
Sat, 18 Oct 2014 10:25:31 +0000
(12:25 +0200)
bash-selector.sh
patch
|
blob
|
history
diff --git
a/bash-selector.sh
b/bash-selector.sh
index
05bd892
..
ac094c8
100755
(executable)
--- a/
bash-selector.sh
+++ b/
bash-selector.sh
@@
-47,44
+47,51
@@
function selector-history () {
# Selector-based directory history
######################################################################
# Selector-based directory history
######################################################################
-# The file where we will keep track of the directories
+# The file where we will keep track of the directories and how many
+# lines to keep in there
export SELECTOR_CD_HISTORY
[[ "${SELECTOR_CD_HISTORY}" ]] || SELECTOR_CD_HISTORY=${HOME}/.selector-cd-history
export SELECTOR_CD_HISTORY
[[ "${SELECTOR_CD_HISTORY}" ]] || SELECTOR_CD_HISTORY=${HOME}/.selector-cd-history
-# The function to use in place of the standard "cd"
+export SELECTOR_CD_HISTORY_SIZE
[[ "${SELECTOR_CD_HISTORY_SIZE}" ]] || SELECTOR_CD_HISTORY_SIZE=1000
[[ "${SELECTOR_CD_HISTORY_SIZE}" ]] || SELECTOR_CD_HISTORY_SIZE=1000
+# The function to use in place of the standard "cd"
+
function selector-cd () {
function selector-cd () {
+ umask 077
+
if [[ -z "$1" ]]; then
cd
else
cd "$@"
fi
if [[ -z "$1" ]]; then
cd
else
cd "$@"
fi
- if [[ -f
${SELECTOR_CD_HISTORY}
]]; then
+ if [[ -f
"${SELECTOR_CD_HISTORY}"
]]; then
TMP=$(mktemp /tmp/selector-cd.XXXXXX)
TMP=$(mktemp /tmp/selector-cd.XXXXXX)
- tail -$((SELECTOR_CD_HISTORY_SIZE-1)) <
${SELECTOR_CD_HISTORY} > ${TMP}
- cat
${TMP} > ${SELECTOR_CD_HISTORY}
- rm -f
${TMP}
+ tail -$((SELECTOR_CD_HISTORY_SIZE-1)) <
"${SELECTOR_CD_HISTORY}" > "${TMP}"
+ cat
"${TMP}" > "${SELECTOR_CD_HISTORY}"
+ rm -f
"${TMP}"
fi
fi
- echo
$PWD | sed -e "s!^${HOME}!~!" >> ${SELECTOR_CD_HISTORY}
+ echo
"${PWD}" | sed -e "s!^${HOME}!~!" >> "${SELECTOR_CD_HISTORY}"
}
function selector-cd-search () {
}
function selector-cd-search () {
- if [[ -f ${SELECTOR_CD_HISTORY} ]]; then
+ umask 077
+
+ if [[ -f "${SELECTOR_CD_HISTORY}" ]]; then
PATH_TEMP=$(mktemp /tmp/selector-cd-path.XXXXXX)
PATH_TEMP=$(mktemp /tmp/selector-cd-path.XXXXXX)
- selector -j -y -u -t "cd" -l
${SELECTOR_CD_HISTORY_SIZE} -d -i -c 7,2,0,3 -o ${PATH_TEMP} -q ${SELECTOR_CD_HISTORY}
- NEW_PATH="$(cat
${PATH_TEMP}
| sed -e 's!~!'${HOME}'!')"
+ selector -j -y -u -t "cd" -l
"${SELECTOR_CD_HISTORY_SIZE}" -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
if [[ -d "${NEW_PATH}" ]]; then
- selector-cd "$(cat
${PATH_TEMP}
| sed -e 's!^~!'${HOME}'!')"
+ selector-cd "$(cat
"${PATH_TEMP}"
| sed -e 's!^~!'${HOME}'!')"
fi
fi
- \rm
${PATH_TEMP}
+ \rm
"${PATH_TEMP}"
else
else
- echo "No cd history file
${SELECTOR_CD_HISTORY}
." >&2
+ echo "No cd history file
'${SELECTOR_CD_HISTORY}'
." >&2
fi
}
fi
}