нещо като:
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
накратко:mysql
командата извежда запис, разделен с '\n' и полета, разделени с '\t', когато изходът е тръба. read
командата чете ред, разделя се на полета и поставя всяко върху променлива.
ако данните ви имат интервали в полетата, получавате някои проблеми с read
по подразбиране разделяне. има някои начини за заобикаляне; но ако четете само две полета и едно от тях не трябва да има никакви интервали (като guid
), тогава можете да поставите полето 'dangerous' в края и read
ще постави всичко "екстра" в последната променлива.
така:
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