Ich habe eine Shell (bash) Skript versucht, eine Zeile in einer Remote-Datenbank einfügen zu bekommen, aber ich habe einige Probleme wurden mit :(Shell-Skript Mit den Daten in Remote-MySQL-Datenbank einfügen
Die Skript ist dazu gedacht, eine Datei auf einen Server hochzuladen, eine URL, HASH und eine Dateigröße zu erhalten, eine Verbindung zu einer entfernten MySQL-Datenbank herzustellen und die Daten in eine existierende Tabelle einzufügen, bis das entfernte MYSQL-Datenbankbit funktioniert.
Es sieht wie folgt aus:
#!/bin/bash
zxw=randomtext
description=randomtext2
for file in "[email protected]"
do
echo -n *****
ident= *****
data= ****
size=` ****
hash=`****
mysql --host=randomhost --user=randomuser --password=randompass randomdb
insert into table (field1,field2,field3) values('http://www.site.com/$hash','$file','$size');
echo "done"
done
ich insgesamt Noob bei der Programmierung bin Also yeh: P
Wie auch immer, ich habe die \ hinzugefügt, um die Klammern zu entkommen, als ich Fehler bekam. Wie es jetzt ist, funktioniert das Skript gut bis zur Verbindung mit der MySQL-Datenbank. Es verbindet sich nur mit der mysql-Datenbank und führt den Befehl insert nicht aus (und ich weiß nicht einmal, ob der insert-Befehl in bash funktionieren würde).
PS: Ich habe beide mysql-Befehle von der Befehlszeile nacheinander ausprobiert, und sie funktionierten, obwohl ich die Hash/Datei/Größe definiert und nicht die escaping "\".
Wie auch immer, was denkst du? Was versuche ich noch zu erreichen? Wenn das so ist, wie?
Jede Hilfe wäre :)
Erhalte diesen Fehler damit: Zeile 22: Warnung: Here-Dokument in Zeile 19 durch Dateiende (gewünscht 'EOF ') begrenzt Zeile 23: Zeile 23: Syntaxfehler: unerwartetes Ende der Datei – lelouch
@Lelouch - Sie links Aus dem "EOF" in der dritten Zeile oben. Es ist wichtig, die gesamte Lösung umzusetzen, nicht nur die erste Hälfte. –
Hmm, nah, ich fügte klar die << EOF in der mysql-Zeile, und eine andere EOF in einer neuen Zeile nach der Einfügung. Irgendeine Idee auf was ist falsch? – lelouch