Saya telah memperhatikan banyak pertanyaan dan jawaban serta komentar yang mengungkapkan penghinaan karena (dan terkadang bahkan takut) menulis skrip alih-alih satu kalimat. Jadi, saya ingin tahu:
Kapan dan mengapa saya harus menulis skrip yang berdiri sendiri daripada "satu baris"? Atau sebaliknya?
Apa kasus penggunaan dan pro & kontra dari keduanya?
Apakah beberapa bahasa (mis. Awk atau perl) lebih cocok untuk one-liners daripada yang lain (misalnya python)? Jika demikian, mengapa?
Apakah ini hanya masalah preferensi pribadi atau adakah alasan yang baik (yaitu objektif) untuk menulis satu atau yang lain dalam keadaan tertentu? Apa alasannya?
Definisi
one-liner
: setiap urutan perintah yang diketik atau ditempelkan langsung ke baris perintah shell . Sering melibatkan pipa dan / atau penggunaan bahasa sepertised
,awk
,perl
, dan / atau alat-alat sepertigrep
ataucut
atausort
.Eksekusi langsung pada command-line adalah karakteristik yang menentukan - panjang dan format tidak relevan. "One-liner" mungkin semuanya dalam satu baris, atau mungkin memiliki beberapa baris (misalnya sh untuk loop, atau kode awk atau sed yang tertanam, dengan umpan baris dan lekukan untuk meningkatkan keterbacaan).
script
: urutan perintah apa pun dalam bahasa yang ditafsirkan yang disimpan ke dalam file , dan kemudian dieksekusi. Sebuah skrip dapat ditulis seluruhnya dalam satu bahasa, atau skrip shell-wrapper di sekitar beberapa "satu-liners" menggunakan bahasa lain.
Saya punya jawaban sendiri (yang akan saya posting nanti), tetapi saya ingin ini menjadi tanya jawab kanonik pada subjek, bukan hanya pendapat pribadi saya.