( Zahy | 2006. 06. 29., cs – 07:24 )

Örülök, hogy ilyen nagyívű elképzeléseid vannak, bár tény-és-való, hogy kissé hibásak/hiányosak az alapismereteid (de legalábbis a megfogalmazás).

> amiben nem minden adat szöveg?
>
> A POSIX-shellekben minden behelyettesítés, így pl. a
> programkimenetek is, egyetlen sztringgé helyettesítődik be,
> amiből valamilyen határoló karakter (általában újsor vagy
> szóköz) segítségével csinálhatsz újra listát.
> ...
> Legyenek típusok, legalább skalár, tömb, hash szinten.

bash, Korn-shell, POSIX-shell:
skalárt és tömböt tud. Nézz utána a ksh93-nak, az tud hash-t is.
Az meg hab a tortán, hogy a kimenet fogalmát nem keverjük a helyettesítésekkel. Helyettesítésből van a következő 3:
- változóhelyettesítés ( $valami )
- parancshelyettesítés ( `valami` vagy $(valami) )
- tilde-helyettesítés ( ~valaki esetleg ~+ és ~- )
- és kakukktojásnak a 4. :-) az aritmetikai helyettesítés ( $(( kifejezés )) , amit kizárólag bash-ban írhatsz a nem portábilis $[ kifejezés ] formában )
És ezek nem egyetlen sztringgé helyettesítődnek be, amiből neked kell listát csinálni, hanem eleve lista. (A 3. és 4. nem igazán lehet több elemű lista, de az 1. és a 2. igen, ilyenkor kell köré expliciten kiírni a idézőjelet, ha azt akarod, hogy 1 db. sztring legyen.) A kimenet az valóban egy sztring.

> Miért nem beszélnek a toolok valami egységes protokollt,
> amiben strukturált adatokat adhatnak át egymásnak?

Az egységes protokol pont az amit írtál: egy sor = egy rekord, egy rekord = néhány (szóközzel|tabulátorral) elválasztott mező.

A new-ls példád kicsit OO-nak tűnik, de szerintem attól, hogy $_.size -ként hivatkozok rá, nem lesz olvashatóbb a dolog.

> aminek nem annyira elcseszett a szintaxisa?
> Gondolok itt a hülye blokkjelölésekre, vagy arra, hogy a
> POSIX-shellekben a ( ) és { } parancscsoportosítók
> kulcsszavaknak számítanak, ezért szóközzel kell határolni.

Nem látom be, hogy a megszokáson kívül miért jobb egy kapcsoszárójel (vagy BEGIN/END) alapú blokkjelölés vagy pláne egy tabuláláson alapuló (a'la Python) a do/done-nál. Külön érdekesség, hogy használhatsz nyitó/csukó kapcsoszárójelet (Korn-shellben mindenképp), ha neked úgy tetszik, csak mivel nem nagyon szokták dokumentálni, a többség nem tud róla. Ja és persze megjegyzem, a kapcsozárójel kulcsszó (ha jól tudom fenntartott szóként emlegetik), ezzel szemben az elterjedt kerekzárójel nem, ott nyugodtan kihagyhatod a szóközt - no mások pont ezt rühellik a dologban.

> ami nem fájlglobbing fetisiszta?

RTFM, "set -f" parancs (vagy a set -o noglob) a .profile-odba, oszt jól van

> amihez fejlett terminál tartozik

xman konsole gnome-term stb
Ez nem a shell hibája, hogy neked nem felelnek meg a meglevő terminálok, nekem az xterm is jó. Mellesleg egyszer együtt utaztam sok órán keresztül egy majdnem teljesen vak sráccal, órákon keresztül zengett hozsannákat arról, hogy amióta Win van meg grafika, azóta ő és társai meghalnak a számítógéppel, bezzeg a Linux, annak a jó parancssori felülete, meg a mit-tudom-én-milyen szövegfelolvasó amit használnak, no azzal lehet dolgozni.

(Egyébként asszem értem mire gondolsz, de nem sikerült tökéletesen kifejtened :-) )