bash_aliases: move mark() to its own file
This commit is contained in:
parent
84c7b6a20b
commit
dab102d24d
60
bash_aliases
60
bash_aliases
@ -323,66 +323,6 @@ HISTCONTROL='ignoreboth'
|
|||||||
HISTSIZE=5000
|
HISTSIZE=5000
|
||||||
HISTFILESIZE=${HISTSIZE}
|
HISTFILESIZE=${HISTSIZE}
|
||||||
|
|
||||||
###########################################################################
|
|
||||||
# mark
|
|
||||||
###########################################################################
|
|
||||||
|
|
||||||
function mark()
|
|
||||||
{
|
|
||||||
local MARKS_FILE=${HOME}/.marks
|
|
||||||
local param="$1"
|
|
||||||
local mark_name=""
|
|
||||||
local mark_value=""
|
|
||||||
if [[ ! -f ${MARKS_FILE} ]]; then
|
|
||||||
touch ${MARKS_FILE}
|
|
||||||
fi
|
|
||||||
case "$param" in
|
|
||||||
-g|-s|-d)
|
|
||||||
mark_name="$2"
|
|
||||||
mark_value=$(grep -i "^$mark_name:" ${MARKS_FILE} | sed -e 's/[^:]*://')
|
|
||||||
if [[ "$mark_value" == "" ]]; then
|
|
||||||
echo "\`$mark_name' is NOT in mark list!"
|
|
||||||
return
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
case "$param" in
|
|
||||||
-g)
|
|
||||||
cd "$mark_value"
|
|
||||||
;;
|
|
||||||
-s)
|
|
||||||
echo "$mark_value"
|
|
||||||
;;
|
|
||||||
-h|--help)
|
|
||||||
echo "mark <name> [<dir>]: mark <dir> (default \$PWD) as <name>"
|
|
||||||
echo "mark -g <name> : goto mark <name>"
|
|
||||||
echo "mark -s <name> : show mark <name>"
|
|
||||||
echo "mark -d <name> : delete mark <name>"
|
|
||||||
echo "mark -l : list all marks"
|
|
||||||
;;
|
|
||||||
-l)
|
|
||||||
cat ${MARKS_FILE}
|
|
||||||
;;
|
|
||||||
-d)
|
|
||||||
grep -v "^$mark_name:" ${MARKS_FILE} > ${MARKS_FILE}.tmp
|
|
||||||
mv ${MARKS_FILE}.tmp ${MARKS_FILE}
|
|
||||||
;;
|
|
||||||
-*)
|
|
||||||
echo "Unrecognized option"
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
local mark_name="$1"
|
|
||||||
local mark_value="$2"
|
|
||||||
if [[ "$mark_value" == "" ]]; then
|
|
||||||
mark_value=`pwd`
|
|
||||||
fi
|
|
||||||
grep -v "^$mark_name:" ${MARKS_FILE} > ${MARKS_FILE}.tmp
|
|
||||||
mv ${MARKS_FILE}.tmp ${MARKS_FILE}
|
|
||||||
echo "$mark_name:$mark_value" >> ${MARKS_FILE}
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
}
|
|
||||||
|
|
||||||
###########################################################################
|
###########################################################################
|
||||||
# cygwin-specific
|
# cygwin-specific
|
||||||
###########################################################################
|
###########################################################################
|
||||||
|
57
bash_aliases.d/mark
Normal file
57
bash_aliases.d/mark
Normal file
@ -0,0 +1,57 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
function mark()
|
||||||
|
{
|
||||||
|
local MARKS_FILE=${HOME}/.marks
|
||||||
|
local param="$1"
|
||||||
|
local mark_name=""
|
||||||
|
local mark_value=""
|
||||||
|
if [[ ! -f ${MARKS_FILE} ]]; then
|
||||||
|
touch ${MARKS_FILE}
|
||||||
|
fi
|
||||||
|
case "$param" in
|
||||||
|
-g|-s|-d)
|
||||||
|
mark_name="$2"
|
||||||
|
mark_value=$(grep -i "^$mark_name:" ${MARKS_FILE} | sed -e 's/[^:]*://')
|
||||||
|
if [[ "$mark_value" == "" ]]; then
|
||||||
|
echo "\`$mark_name' is NOT in mark list!"
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
case "$param" in
|
||||||
|
-g)
|
||||||
|
cd "$mark_value"
|
||||||
|
;;
|
||||||
|
-s)
|
||||||
|
echo "$mark_value"
|
||||||
|
;;
|
||||||
|
-h|--help)
|
||||||
|
echo "mark <name> [<dir>]: mark <dir> (default \$PWD) as <name>"
|
||||||
|
echo "mark -g <name> : goto mark <name>"
|
||||||
|
echo "mark -s <name> : show mark <name>"
|
||||||
|
echo "mark -d <name> : delete mark <name>"
|
||||||
|
echo "mark -l : list all marks"
|
||||||
|
;;
|
||||||
|
-l)
|
||||||
|
cat ${MARKS_FILE}
|
||||||
|
;;
|
||||||
|
-d)
|
||||||
|
grep -v "^$mark_name:" ${MARKS_FILE} > ${MARKS_FILE}.tmp
|
||||||
|
mv ${MARKS_FILE}.tmp ${MARKS_FILE}
|
||||||
|
;;
|
||||||
|
-*)
|
||||||
|
echo "Unrecognized option"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
local mark_name="$1"
|
||||||
|
local mark_value="$2"
|
||||||
|
if [[ "$mark_value" == "" ]]; then
|
||||||
|
mark_value=`pwd`
|
||||||
|
fi
|
||||||
|
grep -v "^$mark_name:" ${MARKS_FILE} > ${MARKS_FILE}.tmp
|
||||||
|
mv ${MARKS_FILE}.tmp ${MARKS_FILE}
|
||||||
|
echo "$mark_name:$mark_value" >> ${MARKS_FILE}
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user