MySQL-Daten in Bash-Skripten

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
mod3

MySQL-Daten in Bash-Skripten

Beitrag von mod3 » 27.10.2009 18:48:55

Hallo!

Es gibt in diesem Forum ein Thema aus dem Jahre 2003, das sich mit ähnlichen Dingen befasst, dieses erfüllt aber leider nicht ganz meine Bedürfnisse.

Folgendes: Ich habe eine Datenbank, aus der ich genau ein Feld auslesen möchte, per Shellskript mache ich das bisher wie folgt:

Code: Alles auswählen

mysql --user=$username --password=$password --database=$datenbank --execute="SELECT Spalte FROM Tabelle WHERE user_name='$user';"
(gibts da übrigens ne einfachere/kürzere Variante?)

Herausbekommen müsste ich eine Zahl, leider erhalte ich aber keine, sondern bekomme zusätzlich noch den Namen der Spalte mit angezeigt:
+--------------+
| $Spalte |
+--------------+
| $Wert |
+--------------+
Den Wert möchte ich nun in einer Variablen speichern.

1.) wie mache ich das? Einfach pipen? Also quasi:
$mysql-befehl > $variable
?
2.) wie modifiziere ich den MySQL-Befehl so, dass er mir wirklich nur den Wert zurückgibt? Denn in der jetztigen Form kann ich mit der Ausgabe nicht arbeiten.

MfG

mod3

rupi64
Beiträge: 6
Registriert: 26.10.2009 21:45:47

Re: MySQL-Daten in Bash-Skripten

Beitrag von rupi64 » 27.10.2009 20:37:01

Hallo,

versuch mal

Code: Alles auswählen

VAR=`mysql --user=$username --password=$password --database=$datenbank --execute="SELECT Spalte FROM Tabelle WHERE user_name='$user';" | tail -n +2`
Das sollte automatisch 1. und 2. lösen.

nepos
Beiträge: 5238
Registriert: 05.01.2005 10:08:12

Re: MySQL-Daten in Bash-Skripten

Beitrag von nepos » 28.10.2009 08:11:44

Die Option -N könnte auch hilfreich sein. Das sollte die Ausgabe des Spaltennamens unterdrücken.

Antworten