55 lines
1.4 KiB
Bash
Executable File
55 lines
1.4 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
BOOKMARKS_FILE=~/.bookmarks
|
|
|
|
# Catch any invalid input.
|
|
if [[ $# -gt 1 ]]; then
|
|
echo "Improper usage: mark { -ls | -rm [ keyword ] }"
|
|
echo " eg. mark"
|
|
echo " eg. mark -ls"
|
|
echo " eg. mark -rm portfolio"
|
|
echo " eg. mark -h"
|
|
echo " eg. mark --help"
|
|
|
|
exit
|
|
|
|
# Help page
|
|
elif [[ $1 == "-h" || $1 == "--help" ]]; then
|
|
echo "\nCreate and manage persistent bookmarks inside of terminal sessions.\n"
|
|
echo "Usage:"
|
|
echo " mark"
|
|
echo " mark -ls"
|
|
echo " eg. run main"
|
|
echo " mark -rm [ keyword ]"
|
|
echo " eg. mark -rm portfolio"
|
|
echo " mark -h"
|
|
echo " mark --help"
|
|
|
|
exit
|
|
|
|
# Add a bookmark to the bookmarks file.
|
|
elif [ $# == 0 ]; then
|
|
echo $(pwd) >> $BOOKMARKS_FILE
|
|
|
|
# List bookmarks stored in the bookmarks file.
|
|
elif [ "$1" == "-ls" ]; then
|
|
echo "Bookmarks:"
|
|
cat $BOOKMARKS_FILE
|
|
|
|
# Remove a bookmark stored in the bookmarks file.
|
|
elif [ "$1" == "-rm" ]; then
|
|
# The user is trying to remove a single bookmark
|
|
# Check if the bookmark exists
|
|
if [ $(grep -c "$2" $BOOKMARKS_FILE) -gt 0 ]; then
|
|
|
|
# Remove the bookmark
|
|
sed -i .bak $2d $BOOKMARKS_FILE
|
|
else
|
|
echo "Bookmark not found"
|
|
fi
|
|
|
|
# Invalid argument, display an error message
|
|
else
|
|
echo "Usage: mark [-ls] [-rm [number | number TO number]]"
|
|
fi
|