diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..617eff1 --- /dev/null +++ b/LICENSE @@ -0,0 +1,22 @@ +# Copyright (c) 2010, Huy Nguyen, http://www.huyng.com +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without modification, are permitted provided +# that the following conditions are met: +# +# * Redistributions of source code must retain the above copyright notice, this list of conditions +# and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the +# following disclaimer in the documentation and/or other materials provided with the distribution. +# * Neither the name of Huy Nguyen nor the names of contributors +# may be used to endorse or promote products derived from this software without +# specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +# PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR +# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +# TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/Makefile b/Makefile index f28d567..17c41b5 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,7 @@ INSTALL_DIR=~/.local/bin all: - @echo "Pleas run 'make install'" + @echo "Please run 'make install'" install: @echo "" diff --git a/bashmarks.sh b/bashmarks.sh index dff401c..450b015 100644 --- a/bashmarks.sh +++ b/bashmarks.sh @@ -38,6 +38,9 @@ if [ ! -n "$SDIRS" ]; then fi touch $SDIRS +RED="0;31m" +GREEN="0;33m" + # save current directory to bookmarks function s { check_help $1 @@ -53,7 +56,14 @@ function s { function g { check_help $1 source $SDIRS - cd "$(eval $(echo echo $(echo \$DIR_$1)))" + target="$(eval $(echo echo $(echo \$DIR_$1)))" + if [ -d "$target" ]; then + cd "$target" + elif [ ! -n "$target" ]; then + echo -e "\033[${RED}WARNING: '${1}' bashmark does not exist\033[00m" + else + echo -e "\033[${RED}WARNING: '${target}' does not exist\033[00m" + fi } # print bookmark @@ -73,6 +83,11 @@ function d { fi } +# print out the help +function h { + check_help "-h" +} + # print out help for the forgetful function check_help { if [ "$1" = "-h" ] || [ "$1" = "-help" ] || [ "$1" = "--help" ] ; then @@ -82,6 +97,7 @@ function check_help { echo 'p - Prints the directory associated with "bookmark_name"' echo 'd - Deletes the bookmark' echo 'l - Lists all available bookmarks' + echo 'h - Shows this help' kill -SIGINT $$ fi } @@ -92,7 +108,7 @@ function l { source $SDIRS # if color output is not working for you, comment out the line below '\033[1;32m' == "red" - env | sort | awk '/DIR_.+/{split(substr($0,5),parts,"="); printf("\033[1;31m%-20s\033[0m %s\n", parts[1], parts[2]);}' + env | sort | awk '/DIR_.+/{split(substr($0,5),parts,"="); printf("\033[0;33m%-20s\033[0m %s\n", parts[1], parts[2]);}' # uncomment this line if color output is not working with the line above # env | grep "^DIR_" | cut -c5- | sort |grep "^.*="