etwas wie:
mysql -e "SELECT `theme_name`, `guid` FROM `themes` WHERE `theme_purchased`='1' AND `theme_compiled`='0'" | while read theme_name guid; do
# use $theme_name and $guid variables
echo "theme: $theme_name, guid: $guid"
done
kurz:das mysql
Der Befehl gibt Datensätze getrennt durch '\n' und Felder getrennt durch '\t' aus, wenn die Ausgabe eine Pipe ist. den read
Der Befehl liest eine Zeile, teilt sie in Felder auf und fügt jedes in eine Variable ein.
Wenn Ihre Daten Leerzeichen in den Feldern enthalten, erhalten Sie einige Probleme mit dem Standardwert read
Aufspaltung. es gibt einige Möglichkeiten, es zu umgehen; aber wenn Sie nur zwei Felder lesen und eines davon keine Leerzeichen enthalten sollte (wie die guid
), dann können Sie das 'gefährliche' Feld ans Ende setzen und read
wird alles 'extra' in die letzte Variable setzen.
so:
mysql -e "SELECT `guid` `theme_name`, FROM `themes` WHERE `theme_purchased`='1' AND `theme_compiled`='0'" | while read guid theme_name; do
# use $theme_name and $guid variables
echo "theme: $theme_name, guid: $guid"
done