On Fri, Oct 23, 2020 at 17:16, Alex 'CAVE' Cernat <c...@cernat.ro> wrote:
din ciclul "bah, tu n-ai servici" (nea marin miliardar sa traiasca!) tot
nu mai fusese de mult flama de vineri

o discutie filosofala, bazata pe linux-urile actuale care mai toate au
instalat bash-ul (versiune minim 4.0), deci din start zic ca nu mizez pe
"suportabilitate" si posix, insa: bash 4 gasesti la orice pas e axioma

si acum intrebarea: daca tot bash 4 stie multe si marunte, atunci nu ar
mai fi indicat ca toate scripturile relativ simple posibile (gen
monitorizare & stuff) sa foloseasca noile (desi vechi de ani) facilitati
din bash 4 ?

cu alte cuvinte de ce in ziua de azi m-as chinui cu sed-uri, grep-uri si
awk-uri si alte marafeturi de genul cand bash-ul are builtin marea
majoritate a functiilor respective (vorbim de chestii relativ simple si
mai ales pe maxim cateva zeci de linii de output de procesat)

ok, sunt de acord ca /bin/sh are vreo 120k (si asta ca e de fapt dash),
iar bash-ul peste un mega, insa fork-urile si executia la mai stiu eu
cate grep-uri si awk-uri costa si alea ...

da, stiu, teoria chibritului  dar e vineri si pe vremuri era la moda


Ca mulți de aici, îmi câștig pita (și) scriind cod Bash. Confirm că e disponibil peste tot unde am avut nevoie: Linux, Windows, OS X/macOS, BSD-uri, Unixuri comerciale. Nu întotdeauna în `/bin/bash`, hashbang-ul corect este `#!/usr/bin/env bash`. Și nu întotdeauna versiunea 4.x, în OS X/macOS s-au oprit la 3.2, care e ultima versiune GPL 2, cred. Parcă și în HP-UX, dar mi-e lene să pornesc ultima măgăoaie din administrarea mea ce mai funcționează.

Pe unde nu e instalat implicit e ori fiindcă îi prea mare (de ex. în Alpine Linux, ce folosește Busybox), ori din motive de licență (de ex. în BSD-uri și Unixurile comerciale). GPL e mai restrictiv decât o licență de tip BSD. Iar GPL 3 e mai problematic pentru companii decât GPL 2, motiv pentru care și macOS are în ultima vreme zsh ca shell implicit pentru conturi nou create în macOS 10.15.

Dar nu te stresa, diversitatea asta e bună pentru sănătatea ecosistemelor UNIX-like. Dacă peste tot ar fi doar un singur shell și acela ar fi Bash, atunci ceva ca Shellshock ar afecta 100% dintre sistemele UNIX-like. Diversitatea presupune evident divergențe, nu ajungi să ai în practică shell-uri diferite cu caracteristici identice.

Standardul POSIX e însă o bază comună foarte solidă. Evident, e mai nașpa când ai de scriptat ceva care să meargă și cu /bin/sh-ul din Solaris 10, dar se poate… Am scris un uninstaller și vreo două scripturi SysV init în stilul ăsta, nu a fost mare brânză.

EOT?  :-]



_______________________________________________
RLUG mailing list
RLUG@lists.lug.ro
http://lists.lug.ro/mailman/listinfo/rlug_lists.lug.ro

Raspunde prin e-mail lui