Mennyi? Nulla?

rsyslog-8.2402.0-t próbálom ./configure-olni, de ez a kódrészlet (15664-es sor) túl nehéz a shell-nek:

 for flag in     ; do

De tényleg, ezt a ciklust most hányszor kellene végrehajtani, nullaszor?

Hozzászólások

Szerkesztve: 2024. 03. 22., p – 17:03

Ja és függősége a libestr, az is biztos valami jó dolog. Annak is van configure-ja, ami a következő okossággal örvendeztet meg:
 

checking for gcc... xlc

Persze nincs a gépen semmiféle xlc, meg is áll rögtön ezután.

PS: ez a jóember is megharcolt a rsyslog-gal: https://hup.hu/comment/2904914#comment-2904914

 for flag in     ; do

Pedig mukodik ez :) Hibatlanul lefut nullaszor. Merthogy hibasan is lefuthatna nullaszor!

Ahogy írod, ez teljesen más; az "in list" nélküli for ciklus az átadott paraméterlistán (*) lépked végig. A "for i in" pedig a 0 elemszámú lista elemein. Teljesen szabályos konstrukció, gondolj bele, hányszor generálódik a lista egy parancs kimenetéből - és ha annak a parancsnak nincs kimenete, az pont ezt eredményezi. Szóval melyik shell az, amelyik ezt nem érti? Mert ott *szerintem* igen nagy bajok vannak.

(*) ez lehet a script hívásakor átadott lista, a shell függvény meghívásakor átadott lista, vagy akár a set -- x y z paranccsal beállított paraméterlista.

Tessen valami korrektebb verziót használni. Mondjuk pár évtizeddel újabbat:

$ ksh93 -c 'for i in ; do echo $i ; done ; echo ${.sh.version}'
Version AJM 93u+ 2012-08-01

Ez van nekem FreeBSD portsból (OK, pkg-ból) feltelepítve.

Ezzel egyetértek, de ne mondd nekem, hogy az AIX fényéveket előrelépett az elmúlt évtizedben. Régebben nemhogy ksh93 nem volt a default shell, de még a ksh88-at is alulról szagolta a bsh-nak nevezett csodaeszközük, amit default shellként adtak. Én speciel kereskedelmi Jujnikszokban ksh93-t egyedül a CDE-felület telepítésével érkező dtksh néven láttam.

Ha viszont tényleg ennyire modernné váltak, akkor nyugodtan lehet nyitni egy ticketet feléjük, hisz az, hogy ez javítandó bug, azt mi sem bizonyítja, mint hogy hevenyészett tesztem alapján dash, pdksh, bash, de ugye még maga a ksh93 újabb verziója is veszi az akadályt. De persze ez csak IMHO.