TechRetriever
वर्कफ़्लो

ऐसी Bash स्क्रिप्ट फ़ाइल बनाएँ जिसे आप पढ़ और परख सकें

03
बार-बार दोहराया जाने वाला काम

दोहराए जाने वाले काम से स्क्रिप्ट तक

जो लोग ‘bash script कैसे बनाएँ’ या ‘bash script कैसे लिखें’ खोजते हैं, उनके पास आमतौर पर कोई एक काम होता है जिसे वे हाथ से दोहराते हैं, जैसे किसी फ़ोल्डर की लॉग फ़ाइलें गिनना। एक काम से शुरू करें। लक्ष्य ऐसी फ़ाइल है जिसे आप पढ़ सकें, परख सकें और दोबारा चला सकें, और यहाँ एजेंट उसका मसौदा लिखता है, सिंटैक्स जाँचता है और हर नतीजा कार्ड में दिखाता है।

01

प्रोजेक्ट फ़ोल्डर खोलें

वह फ़ोल्डर चुनें जिसमें आपकी स्क्रिप्ट हैं, या कोई खाली फ़ोल्डर, और उसे चैट का वर्किंग फ़ोल्डर बनाएँ। फ़ाइल टूल उसी के भीतर काम करते हैं।

02

काम बताएँ

बताएँ कि स्क्रिप्ट क्या पढ़े, क्या छापे और किसे न बदले, जैसे लॉग फ़ाइलों की रीड-ओनली गिनती।

03

योजना जाँचें

स्क्रिप्ट को चलाए बिना समझाने के लिए Plan only चुनें, या कुछ बदलने वाली हर कार्रवाई को मंज़ूर करने के लिए Ask first चुनें।

04

चलाएँ और जाँचें

पहले bash -n चलाएँ, फिर किसी टेस्ट फ़ोल्डर पर ट्रायल, और हर कार्ड के आउटपुट व एग्ज़िट कोड की तुलना अपनी उम्मीद से करें।

कॉपी करने लायक एक रीड-ओनली उदाहरण

count-logs.sh
#!/usr/bin/env bash
# count-logs.sh - count lines in .log files of a folder
# usage: bash count-logs.sh [folder]   (read-only)
set -eu

dir="${1:-.}"
count=$(find "$dir" -maxdepth 1 -name "*.log" | wc -l)
echo "found $count log file(s) in $dir"
for file in "$dir"/*.log; do
  [ -e "$file" ] || continue
  wc -l "$file"
done

स्क्रिप्ट find से .log फ़ाइलें गिनती है और wc से हर एक की पंक्तियों की संख्या छापती है। वह सिर्फ़ पढ़ती है, और set -eu शेल को अनसेट वेरिएबल पर और ज़्यादातर नाकाम कमांड पर रोक देता है।

आगे बनाने के लिए दो स्क्रिप्ट

अपनी पहली Bash स्क्रिप्ट पर राय लें

अपना मसौदा वर्किंग फ़ोल्डर में रखें और एजेंट से उसकी समीक्षा करने को कहें। read_file स्क्रिप्ट लोड करता है, grep वे जगहें खोजता है जहाँ कोई वेरिएबल इस्तेमाल हुआ है, और एजेंट छूटे हुए डबल कोट, बिना जाँचे आर्ग्युमेंट और अस्पष्ट नामों की ओर इशारा करता है। यही समीक्षा आपकी Bash स्टार्टअप फ़ाइल पर भी चलती है: पूछें कि उसकी कौन-सी कमांड हर बार शुरू होने पर चलती हैं। Plan only में एजेंट स्क्रिप्ट को चलाए बिना समझाता है। जब आप सुधार माँगते हैं, तो edit_file हर बदलाव को diff के रूप में दिखाता है, और आप उसे तभी स्वीकार करते हैं जब आप उसे समझ लें।

काउंटडाउन टाइमर बनाएँ

नए लोगों के लिए एक सरल Bash टाइमर स्क्रिप्ट में सिर्फ़ एक वेरिएबल, एक for लूप, echo और sleep चाहिए। एजेंट से ऐसा काउंटडाउन माँगें जो सेकंड की संख्या $1 से ले और बचे हुए सेकंड छापे। write_file countdown.sh सेव करता है, और Shell bash -n चलाता है और फिर 3 जैसी छोटी संख्या के साथ ट्रायल। चूँकि sleep सिर्फ़ इंतज़ार करता है, इसलिए स्क्रिप्ट डिस्क पर कुछ नहीं बदलती। Bash से इमेज को ASCII में बदलने जैसे विचार इन्हीं लूप और वेरिएबल पर बनते हैं, हालाँकि इमेज फ़ॉर्मैट के लिए अतिरिक्त सावधानी चाहिए। आउटपुट कार्ड देखें, एग्ज़िट कोड जाँचें और कोड को दोबारा इस्तेमाल करने से पहले पढ़ लें।

Windows के लिए TechRetriever

अपनी पहली स्क्रिप्ट टेस्ट मशीन पर चलाएँ

TechRetriever डाउनलोड करें ↗