zoiets als:
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
kortom:de mysql
commando voert record uit, gescheiden door '\n' en velden gescheiden door '\t' wanneer de uitvoer een pijp is. de read
commando leest een regel, splitst in velden, en zet elk op een variabele.
als uw gegevens spaties in de velden hebben, krijgt u wat problemen met de standaard read
splitsen. er zijn een aantal manieren om het te omzeilen; maar als u slechts twee velden leest en een ervan mag geen spaties bevatten (zoals de guid
), dan kun je het veld 'gevaarlijk' aan het einde zetten en read
zal alles 'extra' in de laatste variabele zetten.
zoals dit:
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