#!/bin/bash
#< Script to display an item from my personal MySQL notes database
AWK="/usr/bin/awk"
BASENAME="/usr/bin/basename"
ECHO="/bin/echo"
MYSQL="/usr/local/mysql/bin/mysql"
RM="/bin/rm"
SED="/usr/bin/sed"
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} id"
} >&2
}
function prepare_query {
QUERY_STRING="SELECT id,subject,text FROM notes_table WHERE id = '${QUERY}';"
${ECHO} "${QUERY_STRING}" > ${QUERY_TMP}
}
function execute_query {
RESULTSET=$( ${MYSQL} -t -u ${DB_USER} --password=${DB_PASS} ${DB_NAME} < ${QUERY_TMP} | ${SED} '1,3d' | ${SED} '$d' | ${SED} '$d' )
HEADER=$( ${ECHO} "${RESULTSET}" | ${SED} -n '1p' )
CONTENT=$( ${ECHO} "${RESULTSET}" | ${SED} '1d' )
ID=$( ${ECHO} "${HEADER}" | ${AWK} '{print $2}' )
SUBJECT=$( ${ECHO} "${HEADER}" | ${AWK} '{print $4}' )
${ECHO} "ID: ${ID}"
${ECHO} "SUBJECT: ${SUBJECT}"
${ECHO} "CONTENT:"
${ECHO} "${CONTENT}"
}
if [ "$#" -ne "1" ]; then
print_usage && exit 1
fi
QUERY=$1
prepare_query
execute_query
${RM} -f ${QUERY_TMP}
exit 0