Subversion Repositories stackman

Rev

Blame | Last modification | View Log | RSS feed

#!/bin/bash

# Get the directory of this script (also works with symlinks)
# http://stackoverflow.com/questions/59895/can-a-bash-script-tell-what-directory-its-stored-in
SOURCE="${BASH_SOURCE[0]}"
while [ -h "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symlink
        DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )"
        SOURCE="$(readlink "$SOURCE")"
        [[ $SOURCE != /* ]] && SOURCE="$DIR/$SOURCE" # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located
done
DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )"

# Check MySQL config
"$DIR"/check_db_conn -q
if [ $? -ne 0 ]; then
        # TODO: fragen ob man write_stam_config aufrufen möchte
        exit 1
fi

echo_yellow() {
        echo -ne "\033[1;33;40m"
        echo "$*"
        echo -ne "\033[0m"
}

echo_red() {
        echo -ne "\033[1;31;40m"
        echo "$*"
        echo -ne "\033[0m"
}

#categ="$1"
categ=$( echo $@ )
if [[ "$categ" == "" ]]; then
        echo "Syntax: $0 <entry>" 1>&2
        exit 2
fi

# Do not allow empty category (reserved for '*')
if [[ "$categ" == "" ]]; then
        echo_red "[!] FATAL ERROR: Category cannot be empty!"
        exit 1
fi

# Warning if it does not exist yet.
"$DIR"/exists1 "$categ"
if [ $? -eq 1 ]; then
        echo_yellow "(i) Note: The category does not exist and will be created if you continue:"
        echo_yellow "          $categ"
        SIGN="*"
else
        SIGN="+"
fi

while (( 1 )); do
        # "-r" übernimmt alle "\". gut für z.B. "\\netbios\", schlecht für "\" am zeilenende, um weiterzuschreiben
        read -erp "<$categ> $SIGN " entry
        if [[ $? -gt 0 ]]; then
                # For example end of stream -- exit
                break
        fi

        # Keine leeren Zeilen (ist das OK?)
        if [[ "$entry" == "" ]]; then
                continue
        fi

        # Eintrag hinzufügen
        "$DIR"/aps "$categ" "$entry"
        if [ $? -ne 0 ]; then
                echo_red "[!] FATAL ERROR: Could not append the entry!" 1>&2
        else
                SIGN="+"
        fi
done