ฉันสังเกตเห็นคำถามและคำตอบจำนวนมากและความคิดเห็นที่แสดงความรังเกียจ (และบางครั้งก็กลัว) การเขียนสคริปต์แทนการใช้ liners คนเดียว ดังนั้นฉันต้องการทราบ:
ฉันควรเขียนสคริปต์แบบสแตนด์อโลนเมื่อใดและเพราะเหตุใดแทนที่จะเป็น "หนึ่งซับ" หรือในทางกลับกัน?
ข้อดีและข้อเสียของการใช้ทั้งสองกรณีคืออะไร
บางภาษา (เช่น awk หรือ perl) เหมาะกับ liners หนึ่งมากกว่าภาษาอื่น ๆ (เช่น python) หรือไม่ ถ้าเป็นเช่นนั้นทำไม
มันเป็นเพียงเรื่องของการตั้งค่าส่วนตัวหรือมีเหตุผลที่ดี (เช่นวัตถุประสงค์) ในการเขียนหนึ่งหรืออื่น ๆ ในสถานการณ์พิเศษหรือไม่ อะไรคือเหตุผลเหล่านั้น
คำนิยาม
one-liner
: ลำดับของคำสั่งใด ๆ ที่พิมพ์หรือวางโดยตรงลงในเปลือกบรรทัดคำสั่ง มักเกี่ยวข้องกับท่อและ / หรือการใช้ภาษาเช่นsed
,awk
,perl
และ / หรือเครื่องมือเช่นgrep
หรือหรือcut
sort
มันเป็นการดำเนินการโดยตรงบนบรรทัดคำสั่งที่เป็นลักษณะการกำหนด - ความยาวและการจัดรูปแบบไม่เกี่ยวข้อง "หนึ่งซับ" อาจอยู่ในหนึ่งบรรทัดหรืออาจมีหลายบรรทัด (เช่น sh สำหรับลูปหรือฝัง awk หรือรหัส sed ด้วยบรรทัดฟีดและการเยื้องเพื่อปรับปรุงการอ่าน)
script
: ลำดับของคำสั่งในภาษาที่ตีความใด ๆ ที่บันทึกไว้ในไฟล์และดำเนินการ สคริปต์อาจถูกเขียนทั้งหมดในภาษาเดียวหรืออาจเป็นตัวหุ้มสคริปต์เชลล์รอบ ๆ "หนึ่งสมุทร" โดยใช้ภาษาอื่น ๆ
ฉันมีคำตอบของตัวเอง (ซึ่งฉันจะโพสต์ในภายหลัง) แต่ฉันต้องการให้สิ่งนี้กลายเป็นคำถามและคำตอบที่เป็นที่ยอมรับในเรื่องนี้ไม่ใช่แค่ความเห็นส่วนตัวของฉัน