Tek gömlekler yerine senaryolar yazmaktan hoşlanmadığını (hatta bazen korktuğunu) ifade eden birçok soru, cevap ve yorum gördüm. Yani bilmek istiyorum:
Ne zaman ve neden "bir astar" yerine tek başına bir senaryo yazmalıyım? Ya da tam tersi?
Her ikisinin de kullanım durumları ve artıları ve eksileri nelerdir?
Bazı diller (örneğin awk veya perl) bir liner için diğerlerinden daha uygun mu (örneğin python)? Öyleyse neden?
Bu sadece kişisel bir tercih meselesi mi, yoksa belirli durumlarda birini veya diğerini yazmak için iyi (yani objektif) sebepler var mı? Bu sebepler neler?
Tanımlar
one-liner
: doğrudan bir kabuk komut satırına yapıştırılan veya yapıştırılan komut dizisi . Genellikle kapsayan boru hatları ve / veya gibi dillerin kullanımısed
,awk
,perl
, ve / veya araçları gibigrep
yacut
yasort
.Bu, tanımlayıcı karakteristik olan komut satırındaki doğrudan yürütmedir - uzunluk ve biçimlendirme önemsizdir. Bir "tek astar" hepsi tek bir satırda olabilir veya birden fazla satıra sahip olabilir (örneğin, döngü için sh veya satır içi beslemeleri ve okunabilirliği artırmak için girintili gömülü awk veya sed kodu).
script
: bir dosyaya kaydedilen ve daha sonra yürütülen herhangi bir tercüman dilindeki herhangi bir komut dizisi . Bir komut dosyası tamamen tek bir dilde yazılabilir veya diğer dilleri kullanarak birden fazla "tek-liner" in etrafında bir kabuk-kodlu sarmalayıcı olabilir.
Kendi cevabım var (daha sonra göndereceğim), ancak bunun sadece kişisel fikrim değil, konuyla ilgili kanonik bir soru-cevap olmasını istiyorum.