आपका आवश्यकता पूरी तरह से स्पष्ट नहीं है, लेकिन इस
{
echo "Total items: `echo $QUERY1 | awk '{print $1}'`"
echo "Total Error: `echo $QUERY1 | awk '{print $2}'`"
echo "Percentage: $QUERY2"
} | mail -s "subject" [email protected],[email protected]
{ .. }
जोड़ी एक प्रक्रिया समूह बनाता है, और सभी एसटीडी-आउटपुट 1 |
में रीडायरेक्ट हो गई है की कोशिश (पाइप), जो आपके मेल प्रोग्राम के std-in से जुड़ता है।
आपको mailx
, -s
का उपयोग करने की आवश्यकता हो सकती है विषय, जो मैं इस विषय पर आपके अन्य प्रश्न से देखता हूं जिसे आप समझते हैं।
sendmail
को इस स्क्रिप्ट को निष्पादित करने वाली मशीन से किसी भी मेल को वितरित करने के लिए चलने और ठीक से कॉन्फ़िगर करने की आवश्यकता होगी।
IHTH
संपादित करें: 2015-11-07
बस इस के लिए एक 'अच्छा जवाब' स्टार हो गया, और पर समीक्षा पर, मुझे आश्चर्य है कि मैंने नहीं किया हूँ प्रक्रियाओं के अत्यधिक उपयोग पर टिप्पणी। इस मामले के लिए, यह awk
करने के लिए एक कॉल करने के लिए कम किया जा सकता, यानी
awk -v q1="$QUERY1" -v q2="$QUERY2" \
'END {
split(q1,q1arr)
print "Total items: " q1arr[1] \
"Total Error: " q1arr[2] \
"Percentage: " q2
}' /dev/null \
| mail -s "subject" [email protected],[email protected]
या एक लाइनर भीड़ ;-) के लिए, कि
awk -v q1="$QUERY1" -v q2="$QUERY2" 'END {split(q1,q1arr);print "Total items: " q1arr[1] "\nTotal Error: " q1arr[2] "\nPercentage: " q2 }' /dev/null | mail -s "subject" [email protected],[email protected]
{ .. }
इस में आवश्यकता नहीं होती है मामला, क्योंकि पाइप से कनेक्ट होने वाली केवल एक प्रक्रिया है।
किसी दिन एक बार सारांश रिपोर्ट की तरह एक मामले के लिए, मूल कोड पूरी तरह से उपयोग योग्य (लेकिन गैर-इष्टतम) है। हालांकि, कोडिंग गैर-अनुकूल रूप से बुरी आदतों की ओर ले जाती है। 5 प्रक्रियाओं को कॉल करना जब कोई लूप में पर्याप्त होगा जो दिन में कई बार चलता है, तो अनावश्यक रूप से गणना संसाधनों का उपभोग करेगा।
अंत में, ओपी के रूप में। किसी भी नमूना डेटा शामिल नहीं किया गया है, कोड केवल हल्के से परीक्षण किया गया है।
क्या आप इसे एक टीएमपी फ़ाइल में पाइप नहीं कर सकते हैं और बस पाइप कर सकते हैं? –
ये सभी इको कथन मेरी शेल स्क्रिप्ट में हैं और उस शेल स्क्रिप्ट से केवल मुझे एक ही ईमेल में इन तीन गूंज विवरणों को पारित करने की आवश्यकता है। – AKIWEB
संभावित डुप्लिकेट [खोल स्क्रिप्ट का उपयोग कर ईमेल समूह को ईमेल भेजें] (http://stackoverflow.com/questions/11875036/send-an-email-to-a-email-group-using-shell-script) – tripleee