Я помітив чимало запитань та відповідей та коментарів, що висловлюють зневагу до (а іноді навіть страху перед) написання сценаріїв замість однолінійки. Отже, я хотів би знати:
Коли і навіщо мені писати автономний сценарій, а не «однолінійний»? Або навпаки?
Які випадки використання та плюси та мінуси обох?
Чи деякі мови (наприклад, awk або perl) краще підходять для однокласників, ніж інші (наприклад, python)? Якщо так, то чому?
Це лише питання особистої переваги чи є вагомі (тобто об’єктивні) причини писати те чи інше в конкретних обставинах? Які ці причини?
Визначення
one-liner
: будь-яка послідовність команд, набраних або вставлених безпосередньо в командний рядок оболонки . Часто з участю трубопроводів і / або використання мов , таких якsed
,awk
,perl
, і / або інструменти , такі якgrep
абоcut
абоsort
.Саме визначальним характеристикою є пряме виконання в командному рядку - довжина та форматування не мають значення. "Одне вкладиш" може бути усім на одному рядку, або він може мати декілька рядків (наприклад, sh для циклу, або вбудований код awk або sed, з каналами рядків та відступом для поліпшення читабельності).
script
: будь-яка послідовність команд на будь-якій інтерпретованій мові, які зберігаються у файлі та виконуються. Сценарій може бути написаний повністю однією мовою, або він може бути обгорткою сценарію оболонки навколо декількох "однокласників", використовуючи інші мови.
У мене є своя відповідь (яку я опублікую пізніше), але я хочу, щоб це стало канонічним питанням питань, а не лише моєю особистою думкою.