कुछ इस तरह:
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 ), तो आप अंत में 'खतरनाक' फ़ील्ड डाल सकते हैं, और 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