qualcosa come:
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
in breve:il mysql
record di output del comando separato da '\n' e campi separati da '\t' quando l'output è una pipe. il read
Il comando legge una riga, divide i campi e li inserisce in una variabile.
se i tuoi dati hanno spazi nei campi, riscontri dei problemi con l'impostazione predefinita read
scissione. ci sono alcuni modi per aggirarlo; ma se stai leggendo solo due campi e uno di essi non dovrebbe avere spazi (come il guid
), quindi puoi mettere il campo 'pericoloso' alla fine e read
metterà tutto 'extra' nell'ultima variabile.
così:
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