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