diff options
Diffstat (limited to 'neue-Kategorie')
-rwxr-xr-x | neue-Kategorie | 28 |
1 files changed, 17 insertions, 11 deletions
diff --git a/neue-Kategorie b/neue-Kategorie index 8de4e1b..3b8433c 100755 --- a/neue-Kategorie +++ b/neue-Kategorie @@ -1,7 +1,7 @@ #!/bin/bash -if [ $# -ne 2 ]; then - >&2 echo "$0"' $Kategorie $Eintrag' +if [ $# -lt 2 ]; then + >&2 echo "$0"' $Kategorie $Eintrag1 $Eintrag2 ...' exit 1 fi @@ -10,21 +10,27 @@ Kategorien['Kopf']='Koepfe' Kategorien['Gewindetyp']='Gewindetypen' Kategorien['Material']='Materialien' -if [ -z "${Kategorien["$1"]}" ]; then - >&2 printf 'unbekannte Kategorie %s, ich kenne:\n' "${1}" +Kategorie="$1" +shift + +if [ -z "${Kategorien["${Kategorie}"]}" ]; then + >&2 printf 'unbekannte Kategorie %s, ich kenne:\n' "${Kategorie}" >&2 printf '%s\n' "${!Kategorien[@]}" exit 2 fi { - printf 'INSERT IGNORE INTO `%s`' "${Kategorien["$1"]}" + printf 'INSERT IGNORE INTO `%s`' "${Kategorien["${Kategorie}"]}" printf ' (`name`)' - printf ' VALUES (' - printf 'FROM_BASE64("' - printf '%s' "$2" \ - | base64 -w0 - printf '")' - printf ');\n' + printf ' VALUES' + for Eintrag in "$@"; do + printf ',(FROM_BASE64("' + printf '%s' "${Eintrag}" \ + | base64 -w0 + printf '"))' + done \ + | sed 's@^,@ @' + printf ';\n' } \ | mysql \ && echo 'ok' |