[सामान्य स्क्रिप्टिंग सलाह के लिए, अन्य उत्तर देखें]
यह उत्तर कमांड-लाइन कार्यक्रमों के उपयोग और उनमें से बड़ी श्रृंखलाओं के बारे में है।
सीएलआई कार्यक्रमों की श्रृंखला चलाने के लिए, और शायद अनुक्रम में कई श्रृंखलाएं, बैश सबसे आसान है। पर्ल वही कर सकता है लेकिन भाषा सीखने के लिए बहुत कठिन है और कहीं अधिक जटिल है, और जैसा कि कई ने बताया है, समझदार पर्ल लिखना आसान है।
यदि आप फ़ाइलों और मापदंडों पर पुनरावृत्ति कर रहे हैं, तो bash को b / c में प्राप्त करना सबसे आसान है, आप शेल में प्रोटोटाइप कर सकते हैं, फिर एक स्क्रिप्ट में कॉपी करें और न्यूनतम ओवरहेड के साथ कुछ सरणियों और छोरों को जोड़ें।
मेरे कहने के उदाहरण:
$ cat input.dat | numerical_model source_data ${SRC} grid_size ${GRID_SIZE} param1 ${P1} param2 ${P2} | tee ${OUTPUT} | plotter title ${TITLE} ylabel ${YLABEL} xlabel ${XLABEL} > ${OUTPUT_FIG}
$ cat ${OUTPUT} | stats_cmd bin_size ${BINSIZE} dist_type ${DIST_TYPE} | tee ${OUTPUT_STATS} | plotter plot_type ${PLOT_TYPE} title ${TITLE_STATS} > ${OUTPUT_FIG_STATS}
बैश में, उन कुछ मापदंडों में से कुछ छोरों में लपेटना आसान है। हालाँकि , स्क्रिप्ट को कुछ दसियों लाइनों से अधिक हो जाने पर कोड को पढ़ना मुश्किल हो जाता है। --- तीस अलग-अलग डेटा भूखंडों के लिए कमांड के 30 सेट (प्रत्येक कुछ पंक्तियाँ) की कल्पना करें ---
पर्ल और पायथन बड़ी स्क्रिप्ट के लिए बेहतर हो सकते हैं क्योंकि उनके पास लूपिंग और वैरिएबल के लिए क्लीनर सिंटैक्स है, लेकिन बैश कमांड को स्ट्रिंग्स के रूप में उत्पन्न किया जाना चाहिए, उपप्रोसेस के रूप में चलाएं, और स्टड, स्टैडआउट कैप्चर किया गया। यह किया जा सकता है, लेकिन यह मूल शेल वातावरण को पूरी तरह से बदल नहीं सकता है।
यदि गोले एक बेहतर भाषा होती तो यह सब टाला जाता।