ब्लॉग पर वापस जाएं
Arnošt Havelka

प्रीमियम: बैश स्क्रिप्ट अभ्यास

एक यथार्थवादी बहु-चरण परिदृश्य को हल करने के लिए चर, फ़ंक्शन, लूप और शर्तों को मिलाएं।

इंटरएक्टिव पाठ शुरू करें
प्रीमियम: बैश स्क्रिप्ट अभ्यास

अब सब कुछ मिलाएं: चर, फ़ंक्शन, लूप और शर्तें एक वास्तविक-विश्व स्वचालन स्क्रिप्ट बनाने के लिए।

चरण 1: नींव बनाएं

Command Prompt
(empty)
C:\Users\User>ls

लूप के साथ कई लॉग फ़ाइलें बनाएं। प्रत्येक पुनरावृत्ति एक नई फ़ाइल लिखती है।

चरण 2: परिणामों का विश्लेषण करें

Command Prompt
log_1.txt log_2.txt log_3.txt
C:\Users\User>ls backups

एक साथ सभी फ़ाइलों को संसाधित करने के लिए ग्लोब पैटर्न का उपयोग करें।

चरण 3: निकालें और गिनें

Command Prompt
Log entry 1 Log entry 2 Log entry 3
C:\Users\User>cat backups/*.txt

अपने डेटा से सार्थक आंकड़े प्राप्त करने के लिए पाइप और कमांड को मिलाएं।

वास्तविक-विश्व परिदृश्य

आप 10 माइक्रोसर्विसेज का प्रबंधन कर रहे हैं। प्रत्येक एक डिप्लॉय लॉग उत्पन्न करता है। एक स्क्रिप्ट बनाएं जो:

  1. बनाती है सभी वर्तमान लॉग के साथ एक बैकअप निर्देशिका।
  2. फ़िल्टर करती है त्रुटि लाइनों के लिए।
  3. गिनती करती है सभी सेवाओं में कुल त्रुटियों की।
function check_deploys {
  mkdir -p backup_deploys
  for service in web api cache queue worker db; do
    if [ -f "$service.log" ]; then
      cp "$service.log" backup_deploys/
      error_count=$(grep -c 'ERROR' "backup_deploys/$service.log")
      echo "Service $service has $error_count errors"
    fi
  done
}

check_deploys

चेकलिस्ट जिसे आप पुन: उपयोग कर सकते हैं

  1. for var in list; do ...; done के साथ पुनरावृत्ति करें
  2. if [ test ]; then ...; fi के साथ शर्तें जांचें
  3. $(command) के साथ आउटपुट कैप्चर करें
  4. cat *.ext | grep | wc -l के साथ फ़ाइलें प्रोसेस करें
  5. संबंधित कार्यों को बंडल करने वाले फ़ंक्शन के साथ व्यवस्थित करें

ज्ञान जांच

1 / 2

आप एक कमांड कैसे चलाते हैं और उसका परिणाम एक चर में संग्रहीत करते हैं?

संदर्भ

ये दस्तावेज़ लिंक इस लेख में उपयोग किए गए कमांड के लिए आधिकारिक विवरण प्रदान करते हैं।