- NevemTeve blogja
- A hozzászóláshoz be kell jelentkezni
Hozzászólások
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
- A hozzászóláshoz be kell jelentkezni
for flag in ; do
Pedig mukodik ez :) Hibatlanul lefut nullaszor. Merthogy hibasan is lefuthatna nullaszor!
- A hozzászóláshoz be kell jelentkezni
Pontosan 0-szor. Mi a kérdés? (Az enyém, hogy melyik shell akad el ezen?)
- A hozzászóláshoz be kell jelentkezni
Az viszont igaz, hogy ez probléma nélkül megy (csak mást csinál):
for i; do echo "[$i]"; done
- A hozzászóláshoz be kell jelentkezni
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.
- A hozzászóláshoz be kell jelentkezni
Pl.:
$ ksh93 -c 'for i in ; do echo "$i"; done'
ksh93: syntax error at line 1: `;' unexpected.
- A hozzászóláshoz be kell jelentkezni
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.
- A hozzászóláshoz be kell jelentkezni
Általában az a szokás, hogy a configure-t 'nagyon kompatibilisre' csinálják, hogy akár az Aix default shelljével is menjen.
- A hozzászóláshoz be kell jelentkezni
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.
- A hozzászóláshoz be kell jelentkezni
Asszem a
for i in ; do echo "$i"; done
nem megy a Colossus-nak, meg az Apollo Guidance Computernek sem. Van ennek barmi gyakorlati jelentosege? Ez meg Hajbi XP-jenel is regebbi.
A strange game. The only winning move is not to play. How about a nice game of chess?
- A hozzászóláshoz be kell jelentkezni
> Ahogy írod, ez teljesen más; az "in list" nélküli for ciklus az átadott paraméterlistán (*) lépked végig.
Off: Sőt, a for i in "$@"
-val egyenértékű, igen dícséretes módon.
- A hozzászóláshoz be kell jelentkezni