[สำหรับคำแนะนำการเขียนสคริปต์ทั่วไปดูคำตอบอื่น ๆ ]
คำตอบนี้เกี่ยวกับการใช้โปรแกรมบรรทัดคำสั่งและเชนขนาดใหญ่ของพวกเขา
สำหรับการรันเชนของโปรแกรม CLI และหลาย ๆ เชนเรียงตามลำดับ bash เป็นวิธีที่ง่ายที่สุด Perl สามารถทำสิ่งเดียวกันได้ แต่ภาษานั้นยากต่อการเรียนรู้และมีความซับซ้อนมากกว่าและหลาย ๆ คนได้ชี้ให้เห็นว่ามันง่ายต่อการเขียน Perl ที่เข้าใจได้ง่าย
หากคุณวนซ้ำไฟล์และพารามิเตอร์ทุบตีเป็นวิธีที่ง่ายที่สุดที่จะไป 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 ชุด (แต่ละบรรทัดไม่กี่บรรทัด) สำหรับแปลงข้อมูลที่ต่างกันสามสิบชุด ---
Perl และ Python อาจดีกว่าสำหรับสคริปต์ขนาดใหญ่เนื่องจากมีไวยากรณ์ที่สะอาดกว่าสำหรับการวนซ้ำและตัวแปร แต่คำสั่ง bash จะต้องสร้างเป็นสตริงเรียกใช้เป็นกระบวนการย่อยและ stdin, stdout ที่ถูกจับ สามารถทำได้ แต่ไม่สามารถแทนที่สภาพแวดล้อมเชลล์เนทีฟได้อย่างสมบูรณ์
ถ้ากระสุนมีภาษาที่ดีกว่านี้จะหลีกเลี่ยงได้ทั้งหมด