Tutorial: Jameica/Hibiscus REST Services des Webinterface in einem Linux Bash Script nutzen
Hier ein kleines Script als Tutorial, wie sich die Jameica/Hibiscus REST Services, die über das Webinterface zur Verfügung gestellt werden, in einem Linux Bash Shell Script nutzen lassen.
Das Script kann natürlich auch gerne als Ausgangsbasis für eigene Experimente und Entwicklungen genutzt werden, denn letztendlich stellt es die über das REST Interface abgerufenen Umsatz-Datensätze in einem Array bereit.
Hierbei ist unerheblich, ob Jameica/Hibiscus selbst auf Linux oder Windows läuft, da das Script auf irgendeinem Rechner ausgeführt werden kann, Hauptsache der hat eine Verbindung zum Webinterface von Jameica/Hibiscus. Kommen wir nun zu den Voraussetzungen:
Jameica muss mit mindestens folgendem Setup, d.h. folgenden Plugins: Hibiscus, jameica.webadmin, jameica.xmlrpc, hibiscus.xmlrpc installiert sein. Eine Anleitung und Details gibt es direkt hier: http://www.willuhn.de/wiki/doku.php?id=develop:xmlrpc
Das war es auch schon fast. Jetzt gilt es eigentlich nur noch das Script mit der IP/URL des Jameica/Hibiscus Webinterface zu bestücken, das entsprechde Masterpasswort einzupflegen und los geht's.
Das Script kann dann mit z.B.:
./hibiscusrest.sh 2015070701111
aufrufen (wobei 2015070701111 eine fiktive Rechnungsnummer ist, die wohl keine Ergebnisse bringt und hier nur der Veranschaulichung dienen soll)
Würden wir mal annehmen, diese nur-einmal-vorkommende Rechnungsnummer existiert tatsächlich, so würde genau der zugehörige Umsatz-Datensatz in dem Array des Scriptes auftauchen, und könnte dan weiter verarbeitet werden. Das Script gibt diesen aktuell aber einfach nur wieder aus, aber ich denke es wird klar, dass man mit weiteren Schleifen nun jede Menge Möglichkeiten bekommt, die so gewonnenen Daten zu verarbeiten.
Der Aufruf
./hibiscusrest.sh aldi
würde z.B. dafür sorgen, dass man alle Umsatz-Datensätze im Array wiederfindet, bei denen man mit EC Karte bei Aldi bezahlt hat. Weil die Abfrage aber über alle Konten läuft, würden auch die Umsätze auftauchen, die z.B. in einem Bar-Geld (Kasse) Offline-Konto gespeichert sind und z.B. im Verwendungszweck "Beleg1: Aldi 16.07.2015" stehen haben.
Ruft man
./hibiscusrest.sh %
auf, so werden alle Umsätze ins Array geladen. Dies dauert mitunter eine Weile, warum steht in den Kommentaren im Script.
Dann hoffe ich mal, dass mein Beitrag dem ein Freude und neue Erkenntnisse bereitet. Also: Viel Spaß!
Vielleicht nimmt Olaf dieses Tutorial ja sogar mit in sein Wiki auf, denn dort habe ich bis jetzt nur Beispiele für Java und PHP gefunden.
Ich selbst habe es nicht getestet, aber ich mutmaße mal, dass sich das Script auch unter Windows mit Hilfe von Cygwin (https://www.cygwin.com/) nutzen lässt. Wichtig ist hierbei, dass man über das Cygwin Setup auch das Paket cURL installiert und man sich jq (http://stedolan.github.io/jq/download/) besorgt. Bei jq
weiß ich aber nicht, ober das extra für die Cygwin-Umgebung kompiliert werden muss, ober aber, ob man aus einem Bash Script, welches unter Cygwin ausgeführt wird, die Windows EXE von jq aufrufen kann ....
Jetzt aber genug geredet. Hier kommt das Script (ebenfalls auch als fertiger Download im Anhang). Wer den Code kopiert und selbst in eine Datei speichert: chmod +x hibiscusrest.sh nicht vergessen
#!/bin/bash
#
# hibiscusrest.sh
#
# Autor: Christian B. Caldarone
#
# https://www.xing.com/profile/ChristianB_Caldarone
#
# (C) 2015, Freie Software, GPLv2 only
#
# Beispiel-Script um per Linux/Bash Umsätze anhand Suchbegriff über REST abzufragen und weiterzuverarbeiten.
#
# Benötigt:
#
# Jameica mit folgenden Plugins: Hibiscus, jameica.webadmin, jameica.xmlrpc, hibiscus.xmlrpc
#
# http://www.willuhn.de/wiki/doku.php?id=develop:xmlrpc
#
#
# Außerdem den leichtgewichtigen JSON Kommandozeilen-Prozessor jq (http://stedolan.github.io/jq/),
# siehe weiter unten im Script bei "jq_bin" ...
#
# Hier wird die IP Adresse des Jameica Server angegeben, es kann auch eine URL verwendet werden. Gegebenenfalls muss
# auch der Port mit angegeben werden, falls nicht der Standard-Port 443 für https:// genutzt wird.
jameica_server="192.168.1.1:8080"
# Dies ist das Jameica Master-Password, welches zum Verbinden zum Webinterface zwingend notwendig ist
master_pass="passwort"
# Dieses Script benötigt den jq JSON Kommandozeilen-Prozessor, erhältlich auf http://stedolan.github.io/jq/
# oder eventuell auf über das Distributionsspezifische Software-Repository wie bei Ubuntu. Wenn jq im gleichen
# Verzeichnis wie dieses Script liegt, dann ist ./ voranzustellen, andernfalls reicht jq. Der Parameter -r
# sorgt dafür, dass der Wert ohne "" ausgeben wird.
jq_bin="./jq -r"
# Suchbegriff, d.h. alle Umsätze, die diesen Suchbegriff in irgendeinem der Felder enthalten, werden ausgegeben,
# mit % als Suchbegriff werden alle vorhandenen Datensätze ausgegeben.
#
# Beispiele
#
# Alle Umsätze der Telekom: search_query="telekom"
#
# Suche nach einer konkreten Rechnungsnummer: search_query="2015070701111"
#
# Suche Anhand einer direkten Übergabe an dieses Script: search_query=$1 für ./hibiscusrest.sh 2015070701111
if [[ ! "$1" = "" ]]; then
search_query=$1
else
search_query="2015" # Nur falls keine Suchanfrage übergeben wurde ...
fi
# Temporäre Datei erzeugen, in der später das Resultat der Abfrage der Datensätze im JSON Format gespeichert wird
hibiscus_json=$(mktemp --tmpdir hibiscus.umsatz.json.XXXXXXXXXX) || { echo "Fehler beim anlegen der Temp-Datei."; exit 1; }
# Variable für die Anzahl der zurückgegebenen Datensätze mit 0 initialisieren
records_count=0
# Mit Hilfe von cURL zum Jameica Webinterface verbinden und über die REST API die Suchanfrage absetzten
curl -s -k -get "https://admin:$master_pass@$jameica_server/webadmin/rest/hibiscus/umsaetze/query/$search_query" >$hibiscus_json 2>&1
# Rückgabewert auswerten, Fehler wird zum Beispiel erzeugt, wenn Webinterface nicht erreichbar, oder Passwort falsch
retval=$?
[[ $retval > 0 ]] && { echo "Fehler beim Abruf vom Jameica Webinterface"; rm -f $hibiscus_json; exit 1; }
# Nach erfolgreich abgesetzter Suchanfrage nun speichern ob bzw. wie viel Datensätze zurückgegeben wurden
records_count=$($jq_bin length $hibiscus_json)
# Rückgabewert auswerten, Fehler wird zum Beispiel erzeugt, wenn das Suchkriterium nicht den richtigen Syntax hat
retval=$?
[[ "$records_count" = "" ]] && { echo "Fehler beim Abruf der Daten"; rm -f $hibiscus_json; exit 1; }
# Auswerten ob Datensätze zurückgegeben wurden, und wenn nicht, Script beenden
[[ $records_count = 0 ]] && { echo "Abfrage ergab keine Treffer"; rm -f $hibiscus_json; exit 0; }
# Nun mit Hilfe einer Schleife die Datensätze einem Array zuordnen. Der erste Datensatz hat den Index 0!
#
# Die folgende Schleife ist bei Abfragen, die mehrere Datensätze verarbeiten, aber sehr langsam. Das
# Script soll hier nur auf eine einfache Art und Weise demonstrieren, wie sich die Daten handhaben lassen.
#
# Die schlechte Performance kommt vor allem deswegen zustande, weil jeder Wert immer direkt aus der geamten
# Datei ausgelesen wird, also für die jeden Datensatz 17 mal ein Lesezugriff erfolgt. Bei 200 Datensätzen
# sind dies also insgesamt 3400 Lesezugriffe. Für eine produktive Anwendung würde man die Datei / den
# Inhalt der Datei wohl eher in einer Variable oder in einem eigenen Array speichern. Für Abfragen die nur
# sehr wenige Datensätze zurückgeben, oder vielleicht sogar nur einen, wenn z.B. nach einer konkreten
# Rechnungsnummer gesucht wird, ist das aber so wie es ist völlig ausreichend.
index=0
until [[ $index = $records_count ]]
do
#$jq_bin "[$index]" $hibiscus_json
umsatz_art[$index]=$($jq_bin .[$index].art $hibiscus_json)
umsatz_betrag[$index]=$($jq_bin .[$index].betrag $hibiscus_json)
umsatz_checksum[$index]=$($jq_bin .[$index].checksum $hibiscus_json)
umsatz_customerref[$index]=$($jq_bin .[$index].customerref $hibiscus_json)
umsatz_datum[$index]=$($jq_bin .[$index].datum $hibiscus_json)
umsatz_empfaenger_blz[$index]=$($jq_bin .[$index].empfaenger_blz $hibiscus_json)
umsatz_empfaenger_konto[$index]=$($jq_bin .[$index].empfaenger_konto $hibiscus_json)
umsatz_empfaenger_name[$index]=$($jq_bin .[$index].empfaenger_name $hibiscus_json)
umsatz_gvcode[$index]=$($jq_bin .[$index].gvcode $hibiscus_json)
umsatz_id[$index]=$($jq_bin .[$index].id $hibiscus_json)
umsatz_konto_id[$index]=$($jq_bin .[$index].konto_id $hibiscus_json)
umsatz_primanota[$index]=$($jq_bin .[$index].primanota $hibiscus_json)
umsatz_saldo[$index]=$($jq_bin .[$index].saldo $hibiscus_json)
umsatz_valuta[$index]=$($jq_bin .[$index].valuta $hibiscus_json)
umsatz_zweck[$index]=$($jq_bin .[$index].zweck $hibiscus_json)
umsatz_zweck2[$index]=$($jq_bin .[$index].zweck2 $hibiscus_json)
umsatz_zweck3[$index]=$($jq_bin .[$index].zweck3 $hibiscus_json)
let index=$index+1
done
# Nun zu Demonstrationszwecken die einzelnen Werte aller Datensätze ausgeben. Im Prinzip lassen sich alle Daten
# mit diesem Script beliebig weiterverarbeiten, z.B. um sie in ein anderes Format umzuwandeln oder für die
# Erstellung einer Schnittstelle zu einem Buchhaltungsprogramm.
index=0
until [[ $index = $records_count ]]
do
echo "Datensatz Nr :" $index
echo
echo "Id (#) :" ${umsatz_id[$index]}
echo "Art :" ${umsatz_art[$index]}
echo "Datum :" ${umsatz_datum[$index]}
echo "Valuta :" ${umsatz_valuta[$index]}
echo "Empf. BLZ :" ${umsatz_empfaenger_blz[$index]}
echo "Empf. Konto :" ${umsatz_empfaenger_konto[$index]}
echo "Empf. Name :" ${umsatz_empfaenger_name[$index]}
echo "Betrag :" ${umsatz_betrag[$index]}
echo "Kundenrefe. :" ${umsatz_customerref[$index]}
echo "Verw. Zweck1 :" ${umsatz_zweck[$index]}
echo "Verw. Zweck2 :" ${umsatz_zweck2[$index]}
echo "Verw. Zweck3 :" ${umsatz_zweck3[$index]}
echo "Saldo :" ${umsatz_saldo[$index]}
echo "Ges. Vorfall :" ${umsatz_gvcode[$index]}
echo "Primanota :" ${umsatz_primanota[$index]}
echo "Checksumme :" ${umsatz_checksum[$index]}
echo
echo
let index=$index+1
done
# Zuvor angelegte temporäre Datei zur Zwichenspeicherung der JSON Daten wieder löschen
rm -f $hibiscus_json
# Wir verabschieden uns, und wünschen noch einen schönen Tag
exit 0
Hier ein kleines Script als Tutorial, wie sich die Jameica/Hibiscus REST Services, die über das Webinterface zur Verfügung gestellt werden, in einem Linux Bash Shell Script nutzen lassen.
Das Script kann natürlich auch gerne als Ausgangsbasis für eigene Experimente und Entwicklungen genutzt werden, denn letztendlich stellt es die über das REST Interface abgerufenen Umsatz-Datensätze in einem Array bereit.
Hierbei ist unerheblich, ob Jameica/Hibiscus selbst auf Linux oder Windows läuft, da das Script auf irgendeinem Rechner ausgeführt werden kann, Hauptsache der hat eine Verbindung zum Webinterface von Jameica/Hibiscus. Kommen wir nun zu den Voraussetzungen:
Jameica muss mit mindestens folgendem Setup, d.h. folgenden Plugins: Hibiscus, jameica.webadmin, jameica.xmlrpc, hibiscus.xmlrpc installiert sein. Eine Anleitung und Details gibt es direkt hier: http://www.willuhn.de/wiki/doku.php?id=develop:xmlrpc
Das war es auch schon fast. Jetzt gilt es eigentlich nur noch das Script mit der IP/URL des Jameica/Hibiscus Webinterface zu bestücken, das entsprechde Masterpasswort einzupflegen und los geht's.
Das Script kann dann mit z.B.:
./hibiscusrest.sh 2015070701111
aufrufen (wobei 2015070701111 eine fiktive Rechnungsnummer ist, die wohl keine Ergebnisse bringt und hier nur der Veranschaulichung dienen soll)
Würden wir mal annehmen, diese nur-einmal-vorkommende Rechnungsnummer existiert tatsächlich, so würde genau der zugehörige Umsatz-Datensatz in dem Array des Scriptes auftauchen, und könnte dan weiter verarbeitet werden. Das Script gibt diesen aktuell aber einfach nur wieder aus, aber ich denke es wird klar, dass man mit weiteren Schleifen nun jede Menge Möglichkeiten bekommt, die so gewonnenen Daten zu verarbeiten.
Der Aufruf
./hibiscusrest.sh aldi
würde z.B. dafür sorgen, dass man alle Umsatz-Datensätze im Array wiederfindet, bei denen man mit EC Karte bei Aldi bezahlt hat. Weil die Abfrage aber über alle Konten läuft, würden auch die Umsätze auftauchen, die z.B. in einem Bar-Geld (Kasse) Offline-Konto gespeichert sind und z.B. im Verwendungszweck "Beleg1: Aldi 16.07.2015" stehen haben.
Ruft man
./hibiscusrest.sh %
auf, so werden alle Umsätze ins Array geladen. Dies dauert mitunter eine Weile, warum steht in den Kommentaren im Script.
Dann hoffe ich mal, dass mein Beitrag dem ein Freude und neue Erkenntnisse bereitet. Also: Viel Spaß!
Vielleicht nimmt Olaf dieses Tutorial ja sogar mit in sein Wiki auf, denn dort habe ich bis jetzt nur Beispiele für Java und PHP gefunden.
Ich selbst habe es nicht getestet, aber ich mutmaße mal, dass sich das Script auch unter Windows mit Hilfe von Cygwin (https://www.cygwin.com/) nutzen lässt. Wichtig ist hierbei, dass man über das Cygwin Setup auch das Paket cURL installiert und man sich jq (http://stedolan.github.io/jq/download/) besorgt. Bei jq
weiß ich aber nicht, ober das extra für die Cygwin-Umgebung kompiliert werden muss, ober aber, ob man aus einem Bash Script, welches unter Cygwin ausgeführt wird, die Windows EXE von jq aufrufen kann ....
Jetzt aber genug geredet. Hier kommt das Script (ebenfalls auch als fertiger Download im Anhang). Wer den Code kopiert und selbst in eine Datei speichert: chmod +x hibiscusrest.sh nicht vergessen
Code
#!/bin/bash
#
# hibiscusrest.sh
#
# Autor: Christian B. Caldarone
#
# https://www.xing.com/profile/ChristianB_Caldarone
#
# (C) 2015, Freie Software, GPLv2 only
#
# Beispiel-Script um per Linux/Bash Umsätze anhand Suchbegriff über REST abzufragen und weiterzuverarbeiten.
#
# Benötigt:
#
# Jameica mit folgenden Plugins: Hibiscus, jameica.webadmin, jameica.xmlrpc, hibiscus.xmlrpc
#
# http://www.willuhn.de/wiki/doku.php?id=develop:xmlrpc
#
#
# Außerdem den leichtgewichtigen JSON Kommandozeilen-Prozessor jq (http://stedolan.github.io/jq/),
# siehe weiter unten im Script bei "jq_bin" ...
#
# Hier wird die IP Adresse des Jameica Server angegeben, es kann auch eine URL verwendet werden. Gegebenenfalls muss
# auch der Port mit angegeben werden, falls nicht der Standard-Port 443 für https:// genutzt wird.
jameica_server="192.168.1.1:8080"
# Dies ist das Jameica Master-Password, welches zum Verbinden zum Webinterface zwingend notwendig ist
master_pass="passwort"
# Dieses Script benötigt den jq JSON Kommandozeilen-Prozessor, erhältlich auf http://stedolan.github.io/jq/
# oder eventuell auf über das Distributionsspezifische Software-Repository wie bei Ubuntu. Wenn jq im gleichen
# Verzeichnis wie dieses Script liegt, dann ist ./ voranzustellen, andernfalls reicht jq. Der Parameter -r
# sorgt dafür, dass der Wert ohne "" ausgeben wird.
jq_bin="./jq -r"
# Suchbegriff, d.h. alle Umsätze, die diesen Suchbegriff in irgendeinem der Felder enthalten, werden ausgegeben,
# mit % als Suchbegriff werden alle vorhandenen Datensätze ausgegeben.
#
# Beispiele
#
# Alle Umsätze der Telekom: search_query="telekom"
#
# Suche nach einer konkreten Rechnungsnummer: search_query="2015070701111"
#
# Suche Anhand einer direkten Übergabe an dieses Script: search_query=$1 für ./hibiscusrest.sh 2015070701111
if [[ ! "$1" = "" ]]; then
search_query=$1
else
search_query="2015" # Nur falls keine Suchanfrage übergeben wurde ...
fi
# Temporäre Datei erzeugen, in der später das Resultat der Abfrage der Datensätze im JSON Format gespeichert wird
hibiscus_json=$(mktemp --tmpdir hibiscus.umsatz.json.XXXXXXXXXX) || { echo "Fehler beim anlegen der Temp-Datei."; exit 1; }
# Variable für die Anzahl der zurückgegebenen Datensätze mit 0 initialisieren
records_count=0
# Mit Hilfe von cURL zum Jameica Webinterface verbinden und über die REST API die Suchanfrage absetzten
curl -s -k -get "https://admin:$master_pass@$jameica_server/webadmin/rest/hibiscus/umsaetze/query/$search_query" >$hibiscus_json 2>&1
# Rückgabewert auswerten, Fehler wird zum Beispiel erzeugt, wenn Webinterface nicht erreichbar, oder Passwort falsch
retval=$?
[[ $retval > 0 ]] && { echo "Fehler beim Abruf vom Jameica Webinterface"; rm -f $hibiscus_json; exit 1; }
# Nach erfolgreich abgesetzter Suchanfrage nun speichern ob bzw. wie viel Datensätze zurückgegeben wurden
records_count=$($jq_bin length $hibiscus_json)
# Rückgabewert auswerten, Fehler wird zum Beispiel erzeugt, wenn das Suchkriterium nicht den richtigen Syntax hat
retval=$?
[[ "$records_count" = "" ]] && { echo "Fehler beim Abruf der Daten"; rm -f $hibiscus_json; exit 1; }
# Auswerten ob Datensätze zurückgegeben wurden, und wenn nicht, Script beenden
[[ $records_count = 0 ]] && { echo "Abfrage ergab keine Treffer"; rm -f $hibiscus_json; exit 0; }
# Nun mit Hilfe einer Schleife die Datensätze einem Array zuordnen. Der erste Datensatz hat den Index 0!
#
# Die folgende Schleife ist bei Abfragen, die mehrere Datensätze verarbeiten, aber sehr langsam. Das
# Script soll hier nur auf eine einfache Art und Weise demonstrieren, wie sich die Daten handhaben lassen.
#
# Die schlechte Performance kommt vor allem deswegen zustande, weil jeder Wert immer direkt aus der geamten
# Datei ausgelesen wird, also für die jeden Datensatz 17 mal ein Lesezugriff erfolgt. Bei 200 Datensätzen
# sind dies also insgesamt 3400 Lesezugriffe. Für eine produktive Anwendung würde man die Datei / den
# Inhalt der Datei wohl eher in einer Variable oder in einem eigenen Array speichern. Für Abfragen die nur
# sehr wenige Datensätze zurückgeben, oder vielleicht sogar nur einen, wenn z.B. nach einer konkreten
# Rechnungsnummer gesucht wird, ist das aber so wie es ist völlig ausreichend.
index=0
until [[ $index = $records_count ]]
do
#$jq_bin "[$index]" $hibiscus_json
umsatz_art[$index]=$($jq_bin .[$index].art $hibiscus_json)
umsatz_betrag[$index]=$($jq_bin .[$index].betrag $hibiscus_json)
umsatz_checksum[$index]=$($jq_bin .[$index].checksum $hibiscus_json)
umsatz_customerref[$index]=$($jq_bin .[$index].customerref $hibiscus_json)
umsatz_datum[$index]=$($jq_bin .[$index].datum $hibiscus_json)
umsatz_empfaenger_blz[$index]=$($jq_bin .[$index].empfaenger_blz $hibiscus_json)
umsatz_empfaenger_konto[$index]=$($jq_bin .[$index].empfaenger_konto $hibiscus_json)
umsatz_empfaenger_name[$index]=$($jq_bin .[$index].empfaenger_name $hibiscus_json)
umsatz_gvcode[$index]=$($jq_bin .[$index].gvcode $hibiscus_json)
umsatz_id[$index]=$($jq_bin .[$index].id $hibiscus_json)
umsatz_konto_id[$index]=$($jq_bin .[$index].konto_id $hibiscus_json)
umsatz_primanota[$index]=$($jq_bin .[$index].primanota $hibiscus_json)
umsatz_saldo[$index]=$($jq_bin .[$index].saldo $hibiscus_json)
umsatz_valuta[$index]=$($jq_bin .[$index].valuta $hibiscus_json)
umsatz_zweck[$index]=$($jq_bin .[$index].zweck $hibiscus_json)
umsatz_zweck2[$index]=$($jq_bin .[$index].zweck2 $hibiscus_json)
umsatz_zweck3[$index]=$($jq_bin .[$index].zweck3 $hibiscus_json)
let index=$index+1
done
# Nun zu Demonstrationszwecken die einzelnen Werte aller Datensätze ausgeben. Im Prinzip lassen sich alle Daten
# mit diesem Script beliebig weiterverarbeiten, z.B. um sie in ein anderes Format umzuwandeln oder für die
# Erstellung einer Schnittstelle zu einem Buchhaltungsprogramm.
index=0
until [[ $index = $records_count ]]
do
echo "Datensatz Nr :" $index
echo
echo "Id (#) :" ${umsatz_id[$index]}
echo "Art :" ${umsatz_art[$index]}
echo "Datum :" ${umsatz_datum[$index]}
echo "Valuta :" ${umsatz_valuta[$index]}
echo "Empf. BLZ :" ${umsatz_empfaenger_blz[$index]}
echo "Empf. Konto :" ${umsatz_empfaenger_konto[$index]}
echo "Empf. Name :" ${umsatz_empfaenger_name[$index]}
echo "Betrag :" ${umsatz_betrag[$index]}
echo "Kundenrefe. :" ${umsatz_customerref[$index]}
echo "Verw. Zweck1 :" ${umsatz_zweck[$index]}
echo "Verw. Zweck2 :" ${umsatz_zweck2[$index]}
echo "Verw. Zweck3 :" ${umsatz_zweck3[$index]}
echo "Saldo :" ${umsatz_saldo[$index]}
echo "Ges. Vorfall :" ${umsatz_gvcode[$index]}
echo "Primanota :" ${umsatz_primanota[$index]}
echo "Checksumme :" ${umsatz_checksum[$index]}
echo
echo
let index=$index+1
done
# Zuvor angelegte temporäre Datei zur Zwichenspeicherung der JSON Daten wieder löschen
rm -f $hibiscus_json
# Wir verabschieden uns, und wünschen noch einen schönen Tag
exit 0
Der an diesem Beitrag angefügte Anhang ist entweder nur im eingeloggten Zustand sichtbar oder die Berechtigung Deiner Benutzergruppe ist nicht ausreichend.