#!/bin/bash
#< Script to search my personal MySQL notes database
BASENAME="/usr/bin/basename"
ECHO="/bin/echo"
MYSQL="/usr/local/mysql/bin/mysql"
RM="/bin/rm"
DB_NAME="notesdb"
DB_USER="notesuser"
DB_PASS="password"
THIS_PROG=$( ${BASENAME} $0 )
QUERY_TMP="query.sql"
function print_error {
${ECHO} "Error: $@" >&2
}
function print_usage {
{
${ECHO} "Usage: ${THIS_PROG} \"search terms\""
} >&2
}
function prepare_query {
NUM_ITEMS=${#QUERY_ARRAY[@]}
COUNTER=0
while [ "${COUNTER}" -lt "${NUM_ITEMS}" ]; do
if [ -z "${QUERY_STRING}" ]; then
QUERY_STRING="SELECT id,subject FROM notes_table WHERE text LIKE '%${QUERY_ARRAY[${COUNTER}]}%'"
else
QUERY_STRING="${QUERY_STRING} AND text LIKE '%${QUERY_ARRAY[${COUNTER}]}%'"
fi
(( COUNTER = COUNTER + 1 ))
done
QUERY_STRING="${QUERY_STRING};"
${ECHO} "${QUERY_STRING}" > ${QUERY_TMP}
}
function execute_query {
${MYSQL} -u ${DB_USER} --password=${DB_PASS} ${DB_NAME} < ${QUERY_TMP}
}
if [ "$#" -lt "1" ]; then
print_usage && exit 1
fi
QUERY_ARRAY=( $@ )
prepare_query
execute_query
${RM} -f ${QUERY_TMP}
exit 0